【发布时间】:2013-01-27 04:42:29
【问题描述】:
有人能告诉我如何解析我从 wcf-rest 服务收到的 XML 字符串吗?
我的网络服务器 XML-String 看起来像
<WS>
<Info>
<Name>Beta</Name>
<Description>Prototyps</Description>
</Info>
<Pages>
<Page>
<Name>Custom</Name>
<Description>toDo</Description>
</Page>
...many other pages...
</Pages>
</WS>
我的手机源代码:
public void DownloadCompleted(Object sender, DownloadStringCompletedEventArgs e)
{
if (!e.Cancelled && e.Error == null)
{
var answer = XElement.Parse(e.Result).Descendants("WS"); // null
...
}
}
如果我尝试通过 XDocument.Load(e.Result) 解析它,那么我会得到异常:找不到文件。
我只想要信息节点的“唯一”信息以及所有页面节点及其值的列表
更新 即使我尝试通过 var item = xdoc.Root.Descendants(); 加载根元素项目将分配给整个 xml 文件。
更新 2 似乎根元素中的命名空间出现了问题。带有命名空间的 xdocument 将无法正确解析 web 服务输出。如果我删除名称空间,它工作正常。有人可以向我解释这个问题吗?是否有删除所有命名空间的便捷解决方案?
更新 3 删除命名空间的便捷方法1
【问题讨论】:
-
我并没有真正涉足 WCF,但我很确定有更简单的方法来消费 WCF 服务。
-
很抱歉,它可能是另一个未使用 wcf 实现的宁静服务。对于一般情况,手动解析它可能会更好,不是吗?
标签: c# windows-phone-7 xml-parsing webservice-client