首页 > 解决方案 > 在 C# 中搜索相同命名的 XML 标记之间的字符串

问题描述

我在 C# 中的 WinForm 中从 HTML 页面中获取 XML 代码。

示例 XML:

<param>
<value><array><data>
<value><string>Number1</string></value>
<value><string>11194652</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Error</string></value>
<value><string>200</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Number2</string></value>
<value><string>2155847</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Print</string></value>
<value><string>no</string></value>
</data></array></value>
</param>

现在我需要 Number1 (11194652)、Number2 (2155847) 和 Error (200) 的数据。遗憾的是我无法搜索标签,因为它们的名称都相同。从这个 XML 中分离出数据 11194652、200 和 2155847 的最佳方法是什么?

提前致谢

标签: c#xmlforms

解决方案


使用XDocument

var xdoc = XDocument.Load(xmlFile);
var results = xdoc.Descendants("string")
                  .Select(x => x.Value);

推荐阅读