如何在Windows Phone中解析单个xml节点,我已在代码中描述了我的Web服务结果:
void abcd_Completed(object sender, ServiceReference1.abcdCompletedEventArgs e)
{
Xdocument doc = XDocument.Parse(e.Result);
}
我的e.Result是
<root>1234</root>
如果我在模拟器中运行此代码,我得到结果但在设备中它会返回如下错误:
"Data at Root level is invalid"
如何解决这个问题。我被困在这里。谢谢!!
答案 0 :(得分:0)
根级别的数据无效很可能意味着xml文件的结构无效。 请注意,每个xml文件必须以标题节点开头:
<?xml version="1.0"?>
如果您的xml文件没有此标头,则XDocument.Parse方法不会将此文件解析为xml。
此外,这是MSDN上的example。请参阅xml文件的外观。
现在,您的整个文件如下所示:
<root>1234</root>
这不是XML文件。 XML文件应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<root>1234</root>
然后您可以访问根值:
string root = doc.Descendants("root").FirstOrDefault().Value;
答案 1 :(得分:0)
如果您需要解析XML节点,则应使用XElement.Parse而不是XDocument.Parse
但您的情况是XML代码中的无效关闭代码,<root>
节点尚未关闭,因为第二个<root>
是下一个打开的代码,您应该将其更改为{{1} }
正确的XML是:</root>