vb.net xpath过滤器导致xslt错误

时间:2013-10-03 12:53:38

标签: vb.net xpath

这段代码工作正常,但我需要在其中一个节点上进行过滤,我添加了ends-wuth函数。现在我收到一个错误,说XSLT内容是必需的,我不确定是什么问题。

Dim doc As New XmlDocument()
doc.Load("http://hatrafficinfo.dft.gov.uk/feeds/datex/England/CurrentRoadworks   /content.xml")
Dim nsmgr As New XmlNamespaceManager(doc.NameTable)
nsmgr.AddNamespace("x", "http://datex2.eu/schema/1_0/1_0")

Dim nodeList As XmlNodeList = doc.SelectNodes("/x:d2LogicalModel/x:payloadPublication   /x:situation/x:situationRecord/x:groupOfLocations/x:locationContainedInGroup   /x:tpegpointLocation/x:*[ends-with(name(),'oint')]/x:pointCoordinates/x:latitude, nsmgr)

1 个答案:

答案 0 :(得分:1)

Microsoft的XPath实现仅支持XPath 1.0,而ends-with是XPath 2.0中的新增功能。如果你想使用XPath 2.0,请寻找第三方解决方案,如XmlPrime。

您的简单谓词可以写成x:*[substring(name(), string-length(name()) - 3) = 'oint']