如何在Silver light中使用xDocument读取嵌套XML?

时间:2010-03-20 13:50:03

标签: c# xml silverlight-3.0 linq-to-xml

嗨,目前我有一个嵌套的XMl,具有以下结构:

<?xml version="1.0" encoding="utf-8" ?> 
<Response>
    <Result>
        <item id="something" />
        <price na="something" />
        <?xml version="1.0" encoding="UTF-8" ?>
        <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
    </Result>
    <NumberReturned>10</NumberReturned>
    <TotalMatches>10</TotalMatches>
</Response> 

有关如何使用Xdocument或XMLReader阅读本文的任何帮助都非常有用。

谢谢, Subhendu

1 个答案:

答案 0 :(得分:1)

XDocumentXmlReader都是XML解析器,它们期望正确形成的XML作为输入。您显示的是 XML文件。因此,第一项任务是提取嵌套的 XML,因为这不是有效的XML,所以您不能依赖任何解析器来完成这项工作。您需要使用字符串操作和/或正则表达式。

我的建议是首先修复生成此无效XML的过程。另一个建议是永远不要手动生成XML文件,而是使用适当的工具(XmlWriter,XDocument,...)