【发布时间】:2011-07-05 14:13:58
【问题描述】:
我有以下代码:
var XmlDoc = new XmlDocument();
Console.WriteLine();
Console.WriteLine(response.ReadToEnd());
Console.WriteLine();
// setup the XML namespace manager
XmlNamespaceManager mgr = new XmlNamespaceManager(XmlDoc.NameTable);
// add the relevant namespaces to the XML namespace manager
mgr.AddNamespace("ns", "http://triblue.com/SeriousPayments/");
XmlDoc.LoadXml(response.ReadToEnd());
XmlElement NodePath = (XmlElement)XmlDoc.SelectSingleNode("/ns:Response", mgr);
while (NodePath != null)
{
foreach (XmlNode Xml_Node in NodePath)
{
Console.WriteLine(Xml_Node.Name + " " + Xml_Node.InnerText);
}
}
我得到:
缺少根元素。
在:
XmlDoc.LoadXml(response.ReadToEnd());
我的 XML 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://triblue.com/SeriousPayments/">
<Result>0</Result>
<Message>Pending</Message>
<PNRef>230828</PNRef>
<ExtData>InvNum=786</ExtData>
</Response>
我迷路了。有人可以告诉我我做错了什么吗?我知道我之前有这个工作,所以我不确定我搞砸了什么。
一如既往,谢谢!
* 得到答案后我的编辑原因**
我需要换行:
XmlElement NodePath = (XmlElement)XmlDoc.SelectSingleNode("/ns:Response");
到:
XmlElement NodePath = (XmlElement)XmlDoc.SelectSingleNode("/ns:Response", mgr);
没有它,这将无法工作。
【问题讨论】:
-
什么是 Console.WriteLine(response.ReadToEnd());输出?
-
您如何期望来自 steam 的任何“实质性”内容? :-) (对不起,无法抗拒......)
标签: c# .net xml exception-handling