这段代码工作正常,但我需要在其中一个节点上进行过滤,我添加了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)
答案 0 :(得分:1)
Microsoft的XPath实现仅支持XPath 1.0,而ends-with
是XPath 2.0中的新增功能。如果你想使用XPath 2.0,请寻找第三方解决方案,如XmlPrime。
您的简单谓词可以写成x:*[substring(name(), string-length(name()) - 3) = 'oint']
。