我有以下xml文件
<root>
<element1>
<header>header1</header>
<tag1>tag1</tag1>
<response>
<status>success</status>
<Data>
<id>d1</id>
<test>2</test>
</Data>
<Beta>
<betaid>sdsd</betaid>
<code>123</code>
<code>ddd</code>
</Beta>
</response>
</element1>
</root>
我的问题:如何在“响应”标签下获取第一个子元素?即staus,数据和beta。在C#中使用XPath。谢谢
我拥有的.net代码在这里,但是它不起作用。
XPathDocument doc= new XPathDocument(XmlReaderdata);
XPathNavigator mes, Nav = doc.CreateNavigator();
foreach(XPathNavigator node in (XPathNodeIterator)Nav.Evaluate("//response/*)
{
node.Name;
}
这样的XPath查询应该可以工作:
//response/*
例如:
var xml = @"<root> ... </root>";
using (StringReader stream = new StringReader(xml))
{
XPathDocument doc= new XPathDocument(stream);
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator itor = (XPathNodeIterator)nav.Evaluate("//response/*");
foreach(XPathNavigator node in itor)
{
Console.WriteLine(node.Name);
}
}
产生输出:
status
Data
Beta
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句