big*_*gtv 12 c# xml xpath namespaces selectsinglenode
以这个简化的XML示例为例:
<?xml version="1.0"?>
<message xmlns="http://www.mydomain.com/MyDataFeed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mydomain.com/MyDataFeed https://secure.mydomain/MyDataFeed/myDataFeed.xsd" requestId="13898" status="1">
<error>Invalid Login</error>
</message>
Run Code Online (Sandbox Code Playgroud)
我试图使用SelectSingleNode方法选择'错误'节点,但是使用以下代码它总是返回NULL?
XmlNode errorNode = oss.SelectSingleNode("/message/error");
if (errorNode != null)
Console.Writeline("There is an error");
Run Code Online (Sandbox Code Playgroud)
从我做过的研究来看,这与命名空间有关,但我根本无法得到任何工作.有什么建议?
mar*_*c_s 22
您缺少 调用中<message>节点定义的XML命名空间SelectSingleNode.假设oss是一个XmlDocument实例,您需要这样做:
XmlNamespaceManager nsMgr = new XmlNamespaceManager(oss.NameTable);
nsMgr.AddNamespace("ns", "http://www.mydomain.com/MyDataFeed");
XmlNode errorNode = oss.SelectSingleNode("/ns:message/ns:error", nsMgr);
Run Code Online (Sandbox Code Playgroud)
渣
| 归档时间: |
|
| 查看次数: |
6862 次 |
| 最近记录: |