【问题标题】:How do I read the contents of an XML element using C#? [duplicate]如何使用 C# 读取 XML 元素的内容? [复制]
【发布时间】:2011-07-29 22:49:39
【问题描述】:

可能重复:
Best practices to parse xml files?

我希望能够在 XML 文档中搜索特定元素,然后获取元素中的所有内容并使用 C# 将元素中的每个新行存储到字符串数组中。我该怎么做?

【问题讨论】:

  • 你试过什么?您使用的是 LINQ to XML 还是经典的 System.Xml 接口?
  • -1 表示同一个问题问了两次。
  • @Jacob:见faq。您的评论已被标记。
  • @Jacob:你应该在这里学习如何写好问题。

标签: c# xml


【解决方案1】:
XDocument xdoc = XDocument.Load("file.xml"));
var elm = from element in xdoc.Descendants("element")
           select new { 
               attribute = element.Attribute("attribute").Value,
           };

【讨论】:

  • 如何访问 XDocument?它说“找不到类型或命名空间名称'XDocument'(您是否缺少 using 指令或程序集引用?)”我该如何解决该错误?
  • @Jacob:使用 system.xml.linq 它是 linq to xml。
  • 谢谢,现在很好用!正是我想要的!
【解决方案2】:

...或者,您可以使用 Visual Studio 中预先存在的设置框架。它不适合自定义 XML 文件,但如果想法是从/向 XML 文件读取/写入应用程序设置,它会为您完成大部分艰苦的工作。它将为此类文件选择合适的位置,自动生成代码,以便与设置进行交互并抽象出文件 IO 方面。绝对值得一看,看看你没有重新发明它:

http://msdn.microsoft.com/en-us/library/c9db58th.aspx

【讨论】:

    【解决方案3】:

    这是一些大脑编译的伪代码

    XmlDocument doc = new XmlDocument();
    doc.Load("myDoc.xml");
    XmlNodeList list = doc.GetElementsByTagName("My Element");
    foreach (XmlNode node in list)
        //process node
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多