0

このコードは正常に機能していましたが、ノードの 1 つをフィ​​ルタリングする必要があったため、ends-wth 関数を追加しました。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 に答える