Проблема с node.GetElementsByTagName в C # - PullRequest
1 голос
/ 02 июня 2009

У меня есть действительно простой XML-файл, который я пытаюсь прочитать, но я не могу заставить его работать. Вот файл XML:

<?xml version="1.0"?> <Results><One>45364634</One><Two>-1</Two><Three>B</Three></Results> 

Я пытаюсь получить содержимое двух, как это:

XmlNode node = doc.DocumentElement.SelectSingleNode("/Results/Two");

или

XmlNodeList list = doc.GetElementsByTagName("Two");

Ни один не работает. Когда я копирую, вставляю XML как строку в XmlDocument, тогда он работает. Однако, когда я использую строку, которую извлекаю из ответа (откуда я получаю XML), она не работает.

Мне интересно, если это что-то странное, например проблема персонажа, или не смотреть на правильный корень, но я не могу понять это. Есть идеи?

Спасибо!

Ответы [ 3 ]

1 голос
/ 02 июня 2009

Проверьте кодировку XML-файла ...

Это анси? utf-8 или utf-16?

Проверьте, был ли xml загружен из файла вообще. Проверьте, есть ли какая-либо ошибка, посмотрите, был ли документ заполнен.

Я думаю, что документ не заполняется при загрузке из файла.

0 голосов
/ 29 июня 2009

BLEH.

Оказывается, я возвращал XML-документ в XML-документе. Вот почему печать на экране выглядела нормально, но я не мог ее вытащить.

Спасибо, ребята.

0 голосов
/ 02 июня 2009

Используя ваше слово "response", я предполагаю, что вы передаете XML через http? Если это так, попробуйте использовать HttpServerUtility.HtmlDecode (xml), посмотрите, работает ли он

...