Отображать узлы в JavaScript - PullRequest
       2

Отображать узлы в JavaScript

0 голосов
/ 03 апреля 2011

У меня есть требование пройти через документ XML и отобразить узлы, которые удовлетворяют определенным критериям. Я смог получить файл через http и получить узлы, которые удовлетворяют критериям из этого. Но я не мог представить их на экране и не вижу их.

Я пробовал все по-разному, но тщетно,

Структура XML:

<routeElement>
 <Service>
  <name>RetrieveEmployeeDetailV001</name>
 </Service>
 <Service>
  <name>RetrieveEmployeeAccountDetailV001</name>
 </Service>
</routeElement>

Это кусок кода, в котором я застрял ...

xmlDocument.setProperty("SelectionLanguage", "XPath");
finalData=xmlDocument.selectNodes("//service");

Я использовал разные способы доступа к дочерним узлам finalData.

finalData[0].childNodes[0].nodeValue;
finalData.childNodes[0].nodeValue; 
finalData[0].getElementByTagName("service");
finalData[0].firstChild

и т. Д. Но ничего не получилось. Можете ли вы предложить решение проблемы?

1 Ответ

1 голос
/ 03 апреля 2011

Если вы хотите выбрать узлы с помощью javascript / xpath, вы можете использовать document.evaluate.Примерно так:

var xresult = document.evaluate('//service',xmlDocument, null, 
                          XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null),
              result,
              ret = [];
while (result = xresult.iterateNext()) {
   ret.push(result);
};
//=> the `ret`-array should contain the nodes you searched

Это будет работать в большинстве браузеров, кроме IE.Для IE используйте SelectNodes

Как вариант, я думаю, что обычные DOM-методы должны работать, в этом случае xmlDocument.getElementsByTagName('service') вернет NodeList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...