【问题标题】:I want to create an array containing my xmldocument nodes in c#我想在 C# 中创建一个包含我的 xmldocument 节点的数组
【发布时间】:2015-12-17 13:56:41
【问题描述】:

您好,我创建了一个带有励志语录的 xml 文件,我想将这些语录读入一个数组。

这是我的 xml 文件的样子:

<?xml version="1.0" encoding="utf-8" ?> 
<MotivationalQuotes>
  <quotation>
    <quote>Life is about making an impact, not making an income</quote>
    <author>Kevin Kruse</author>
  </quotation>

  <quotation>
    <quote>Whatever the mind of man can conceive and believe, it can achieve</quote>
    <author>Napoleon Hill</author>

  </quotation>

</MotivationalQuotes>

我正在尝试将每个单独的引用(没有作者)存储到一个数组中,到目前为止,我的以下代码正在运行 - 它创建一个消息框并遍历显示每个引用文本的 xml 文件。

1) 如何修改此代码以创建一个字符串数组,其中数组中的每个项目都是一个引号(即数组中的每个项目都是当前在我的 foreach 循环中显示到消息框的内容?

2) 创建后如何从数组中返回随机项?

3) 作为我的问题的扩展...我的 xml 文件目前只有励志名言,但它会有更多鼓舞人心、有趣等...我如何指定仅在数组中包含引号如果它们位于 MotivationalQuotes 标签内。

感谢您的帮助!

public void motivate()
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("quotations.xml");
                XmlNode Node = doc.DocumentElement;

                foreach (XmlNode Node1 in Node.ChildNodes)
                {
                MessageBox.Show(Node1.FirstChild.InnerText);

                } 
            }

【问题讨论】:

  • 也许如果你能激励自己先阅读规则......每个问题 1 个问题。问题必须具体。你一定是自己先试过的。等等。您需要自己阅读它们。
  • 欢迎来到 StackOverflow!虽然我们绝对希望在这里帮助人们解决他们的编码问题,尤其是欢迎新用户提出问题,但问题的格式非常重要。这个问题似乎非常广泛,一次提出多个问题,这使得提供有用的答案变得困难。请在How to Ask阅读更多网站规则。
  • 如果您对网站规则不屑一顾,您肯定找不到更愿意回答您问题的人。
  • 感谢克莱斯的建议,我将再次作为单个问题发布。
  • 相反;绝大多数人都非常乐于助人和参与其中。然而,就其本质而言,一大群专业程序员喜欢挑战,但希望他们帮助的人表现出同等的努力。

标签: c# arrays xmldocument xmlnode


【解决方案1】:

您应该使用 XDocument 和 LINQ。

获取所有报价

using System.Xml.Linq;

var quotes = XDocument
 .Load("quotations.xml")
 .Descendants("quote")
 .Select(q => q.Value)
 .ToArray();

【讨论】:

  • 感谢你的帮助,理查德,我会试试这个。
  • 我想有人不高兴你帮了我,我的帖子在我有机会阅读带刺的 cmets 之前已经被否决了两次。一些非常小气的人。非常感谢您的回复,谢谢!
  • 谢谢我尝试投票,但它不会让我告诉我我需要 15 名声望,我会接受作为答案,我只是想让它工作,现在我的 xdocument 不包含后代的定义,我使用 System.Xml.Linq 添加;到我的文件中,但认为我必须添加其他内容,所以会弄清楚,然后在我开始工作时标记为已回答,谢谢!
  • 糟糕,错字,请使用Descendants
猜你喜欢
  • 2019-12-18
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
相关资源
最近更新 更多