0

这段代码工作正常,但我需要过滤其中一个节点,我添加了 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)
4

1 回答 1

1

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

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

于 2013-10-03T13:06:02.983 回答