【问题标题】:Parsing a file containing xml elements in C#在 C# 中解析包含 xml 元素的文件
【发布时间】:2023-04-03 00:59:02
【问题描述】:

我有一个由多个 xml 文件组成的大 xml 文件。文件结构是这样的。

<xml1>
</xml1>
<xml2>
</xml2>
<xml3>
</xml3>
.
.
<xmln>
</xmln>

我想通过 LINQ 语句处理每个 XML 文件,但我不确定如何从文件中单独提取每个 XML 元素并继续迭代直到结束。我认为这里的专家能够给我我正在寻找的轻推。我的要求是提取单个元素,以便我可以加载到 XDoc 元素中以进行进一步处理并继续处理后续元素。对此的任何帮助将不胜感激。

感谢阅读!!

【问题讨论】:

  • 你试过YourXmlDoc.GetElementByTagName("NameOfTag").InnerText
  • 它本身实际上是一个完整的 XML 文件,还是 只是 没有单个根的 XML 元素?
  • 它只是一个带有 xml 元素的文本文件
  • 创建了一个包含xml元素的错误日志!

标签: c# xml linq parsing


【解决方案1】:

假设每个元素都是有效的 XML,您可以将文档包装在顶级标签中,然后正常加载:

<wrap>
  <xml1>
  </xml1>
  <xml2>
  </xml2>      
</wrap>

【讨论】:

  • Anton Gogolev 我能够将它制作成一个 XML 文档,我将如何进行迭代?
【解决方案2】:

您可以使用 System.Xml 引用,它包含许多内置功能,它允许您声明 XmlTextReader。更多信息here

【讨论】:

    【解决方案3】:

    如果这是一个包含单个格式良好的 xml 元素的错误日志,您可能不想将其加载为 XMLDocument。更好的选择是使用由XmlReader 创建的XPathDocument,其中XmlReaderSettings 指定ConformanceLevel.Fragment。然后,您可以根据需要使用XPathNavigator 访问您的元素和属性。示例代码见this forum post中的第三个答案。

    ...晚了一年,然后又迟了一些。 :)

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多