解析URL/Web服务

Sag*_*gar 1 c# xml asp.net xml-parsing

我向第三方API发出了请求,它以XML格式给出了以下响应.

<?xml version="1.0" ?>
<abc>
<xyz>
<code>-112</code>
<message>No such device</message>
</xyz>
</abc>
Run Code Online (Sandbox Code Playgroud)

我用这段代码读了这个.

 XmlDocument doc = new XmlDocument();
    doc.Load("*** url ***");

    XmlNode node = doc.SelectSingleNode("/abc/xyz");
    string code = node.SelectSingleNode("code").InnerText;
    string msg = node.SelectSingleNode("message").InnerText;

    Response.Write("Code: " + code);
Response.Write("Message: "+ msg);
Run Code Online (Sandbox Code Playgroud)

但我在这一行上收到错误:

string code = node.SelectSingleNode("code").InnerText;
Run Code Online (Sandbox Code Playgroud)

错误是:

你调用的对象是空的.

svi*_*nja 6

我将XML文件的第一行更改为:

<?xml version="1.0"?>
Run Code Online (Sandbox Code Playgroud)

使它成为有效的XML.通过此更改,您的代码适合我.如果没有更改,解析器将抛出异常.

  • 如果这是解决方案,请发现先生:-) (2认同)