【发布时间】:2014-09-04 07:47:56
【问题描述】:
我有下一个 xml 代码:
<Start>
<MetricValue>
<Name>Name1</Name>
<Value>1</Value>
</MetricValue>
<MetricValue>
<Name>Name1</Name>
<Value>1</Value>
</MetricValue>
<Test>
<MetricValue>
<Name>Name1</Name>
<Value>1</Value>
</MetricValue>
<MetricValue>
<Name>Name1</Name>
<Value>1</Value>
</MetricValue>
</Test>
</Start>
我正在尝试仅解析前 2 个指标值,而不是来自“测试”标签之间的指标值。
XmlNodeList nlMetricValues = xmlDoc.SelectNodes("//Start//MetricValue");
foreach (XmlNode nMetricValue in nlMetricValues)
{
Console.WriteLine("\Name: " + nMetricValue.SelectSingleNode(".//Name").InnerText);
Console.WriteLine("\tValue: " + nMetricValue.SelectSingleNode(".//Value")).InnerText);
}
但这个 foreach 正在解析所有指标值。我应该怎么做才能解决这个问题?
【问题讨论】:
-
请添加用于选择 MetricValue 节点的 XPath,因为这可能是问题所在。
-
完成。我也添加了 xmlnode
标签: c# xml parsing foreach selectnodes