好的,有一些问题,我可以运行XPathSelectElements来获取三个(在这种特定情况下,虽然它可能是X号)我想从中提取信息的节点集。我正在抓取一些符合XHTML的HTML,并且必须使用XPathSelectElements来查找X数,在本例中是Order对象。
考虑简单的HTML / XML:
<RandomInfo>
<NAME>ASDSADS</NAME>
<WHAT>Dunno</NAME>
<div id='OrderResults'>
<div id='order_foo'>
<ID>1</ID>
<Customer>Bill</Customer>
<Total>500</Total>
</div>
<div id='order_bar'>
<ID>2</ID>
<Customer>Bob</Customer>
<Total>200</Total>
</div>
<div id='order_abc'>
<ID>1</ID>
<Customer>Butch</Customer>
<Total>100</Total>
</div>
</div>
</RandomInfo>
“order_ *”名称是动态的,不能依赖于选择节点。所以我有一个XPathSelectElements可以正确地为我获取三个div的集合。但是,当我迭代每个XNode返回并尝试调用XPathSelectElement(“// Customer”)时,我总是为该XPathSelectElement调用获得相同的值。我可以使用VS来查看节点对象是否正在更改,但XPathSelectElement未从当前节点获取。如果显然某种程度上回到父节点/ doc获取值,我如何强制它自己“root”?
答案 0 :(得分:2)
您可以使用此xpath
./Customer
.
表示当前节点(通常暗示)
/
表示该特定节点的childern
答案 1 :(得分:1)
并且//在XPath的开头表示来自文档根目录的任何节点。因此,您可能处于任何节点,它将始终匹配文档的所有客户节点。 //(在xpath或中间开始时)对性能非常不利,应该避免使用!