提取xml的节点值时出错.错误:需要命名空间管理器或XsltContext
发布时间:2020-12-16 22:51:13 所属栏目:百科 来源:网络整理
导读:我试图在xml中提取节点的值.由于其名称空间,我面临一些问题.在xml下面,我想要’faultstring’标签的值. SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:Body SOAP-ENV:Fault faultcodeError/faultcode faultstringI
我试图在xml中提取节点的值.由于其名称空间,我面临一些问题.在xml下面,我想要’faultstring’标签的值.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>Error</faultcode> <faultstring>Invalid combination of Username and Password.</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 我使用以下代码来获取值.但它会引发错误. Dim xmlDoc As New XmlDocument Dim namespaces As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable) namespaces.AddNamespace("ns","SOAP-ENV") xmlDoc.Load("SOAP.xml") Dim oNode = xmlDoc.SelectSingleNode("ns:Envelope/ns:Body/ns:Fault/faultstring") MsgBox(oNode.InnerXml.ToString) 我没有得到任何解决方案.如果有人可以帮助这个!谢谢 ! 解决方法
由于我对我的问题没有任何帮助,我试了试.解决方案代码如下.
Dim xmlDoc As New XmlDocument Dim namespaces As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable) namespaces.AddNamespace("SOAP-ENV","http://schemas.xmlsoap.org/soap/envelope/") xmlDoc.Load("SOAP.xml") Dim xPathString = "/SOAP-ENV:Envelope/SOAP-ENV:Body/SOAP-ENV:Fault/faultstring" Dim oNode = xmlDoc.SelectSingleNode(xPathString,namespaces) 它现在工作正常!!欢呼!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |