【发布时间】:2012-02-01 15:28:22
【问题描述】:
var xml= @"<?xml version='1.0'?>
<bookstore>
<book genre=""3"">
<title>The Gorgias3</title>
<author>
<name>Plato3</name>
</author>
<price>3</price>
</book>
<book genre=""4"">
<title>The Gorgias4</title>
<author>
<name>Plato4</name>
</author>
<price>4</price>
</book>
</bookstore>";
XPathDocument docNav = new XPathDocument(new StringReader(xml));
XPathNavigator navigator = docNav.CreateNavigator();
XPathNodeIterator NodeIter = navigator.Select("/bookstore/book/title");
foreach (XPathNavigator selectedNode in NodeIter)
{
Console.WriteLine(selectedNode.Name);
}
我怎样才能直接访问第一个/bookstore/book/title" 孩子并获得他的价值。
我不想迭代和打破循环
结果应该是"The Gorgias3"
附言我不想用第一个过滤器修改 xpath 表达式。
我想知道如何用 c# 做到这一点。
【问题讨论】:
-
您在哪个上下文中提问? -- a) 知道“第一个孩子”将是一个标题 -- b) 以这样一种方式,您可以指定第一个孩子是什么(即标题,作者,...) -- 我问是因为何时何时我检查了您的 xml,在没有其他信息的情况下,我的想法是“第一个孩子”实际上是
并且说孩子有上面列出的孩子... -
它是一个迭代器,不能直接转换成节点使用吗?
标签: c# .net xml xpath xpathdocument