Как читать вложенный XML с помощью xDocument в Silver light? - PullRequest
0 голосов
/ 20 марта 2010

Привет, в настоящее время у меня есть вложенный 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 Ответ

1 голос
/ 20 марта 2010

XDocument и XmlReader оба являются синтаксическими анализаторами XML, которые ожидают правильно сформированный XML в качестве ввода. То, что вы показали, это , а не файл XML. Таким образом, первой задачей будет извлечь вложенный XML, и, поскольку это недопустимый XML, вы не можете полагаться на какой-либо анализатор для выполнения этой работы. Вам нужно будет прибегнуть к манипулированию строками и / или регулярным выражениям.

Мое предложение было бы исправить процедуру , генерирующую этот недопустимый XML в первую очередь. Другое предложение - никогда не генерировать XML-файл вручную, а использовать для этого соответствующий инструмент (XmlWriter, XDocument, ...)

...