Разбор XML-документа в C # - PullRequest
18 голосов
/ 06 августа 2009

Дубликат: Это дубликат Рекомендации по синтаксическому анализу XML-файлов с помощью C #? и многих других (см. https://stackoverflow.com/search?q=c%23+parse+xml). Пожалуйста, закройте его и не отвечайте.


Как вы анализируете XML-документ снизу вверх в C #?

Например:

<Employee>
   <Name> Test </name>
   <ID> 123 </ID>
<Employee>
<Company>
    <Name>ABC</company>
    <Email>test@ABC.com</Email>
 </company>

Подобно этому, есть много узлов .. Мне нужно начать синтаксический анализ снизу вверх, как ... первый анализ <company>, а затем и так далее ... Как это сделать в C #?

1 Ответ

61 голосов
/ 06 августа 2009

Попробуйте это:

XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Path\To\Xml\File.xml");

Или, если у вас есть XML в строке, используйте метод LoadXml.

После загрузки вы можете использовать SelectNodes и SelectSingleNode для запроса определенных значений, например:

XmlNode node = doc.SelectSingleNode("//Company/Email/text()");
// node.Value contains "test@ABC.com"

Наконец, обратите внимание, что ваш XML недопустим, поскольку он не содержит ни одного корневого узла. Должно быть что-то вроде этого:

<Data>
    <Employee>
        <Name>Test</Name>
        <ID>123</ID>
    </Employee>
    <Company>
        <Name>ABC</Name>
        <Email>test@ABC.com</Email>
    </Company>
</Data>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...