Xml VB.net XPath未获取节点列表
我有一个XML文档:Xml VB.net XPath未获取节点列表,xml,vb.net,xpath,Xml,Vb.net,Xpath,我有一个XML文档: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Root xmlns="u" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="/xml/abc.xsd"> <DOCID>123456789</DOCID> ... <Body>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Root xmlns="u" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="/xml/abc.xsd">
<DOCID>123456789</DOCID>
...
<Body>
<Problems>
<Problem>Data1
</Problem>
<Problem>Data2
</Problem>
<Problem>Data3
</Problem>
</Problems>
</Body>
</Root>
nodeList
变量的计数为0。我使用了一个免费的在线XPath测试仪,并使用了上面的路径,它工作了,但在VB.NET中不工作
XmlNamespaceManager
/text()
添加到XPATH中
Dim xdc As New XmlDocument
xdc.Load("Myfilename.xml")
Dim strXPATH As String = "/u:Root/u:Body/u:Problems/u:Problem/text()"
Dim nsmgr As New XmlNamespaceManager(xdc.NameTable)
nsmgr.AddNamespace("u", xdc.DocumentElement.NamespaceURI)
Dim xnl As XmlNodeList = xdc.DocumentElement.SelectNodes(strXPATH, nsmgr)
For Each xnd As XmlNode In xnl
MsgBox(strXPATH & "=" & xnd.Value)
Next
Dim xdc As New XmlDocument
xdc.Load("Myfilename.xml")
Dim strXPATH As String = "/u:Root/u:Body/u:Problems/u:Problem/text()"
Dim nsmgr As New XmlNamespaceManager(xdc.NameTable)
nsmgr.AddNamespace("u", xdc.DocumentElement.NamespaceURI)
Dim xnl As XmlNodeList = xdc.DocumentElement.SelectNodes(strXPATH, nsmgr)
For Each xnd As XmlNode In xnl
MsgBox(strXPATH & "=" & xnd.Value)
Next