Как я могу получить значение дочернего узла из условия его брата - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь использовать значение узла name, чтобы вернуть location или другие узлы-братья в приведенном ниже коде

var xmlString ="<stock><item><name> jacket </name><price> 10 </price><location> lat: 31.956624, lng: 35.860534</location></item><item><name> shirt </name><price> 5 </price><location> lat: 31.938761, lng: 35.887909</location></item><item><name> shoes</name><price> 40</price><location> lat: 31.981340,lng: 35.839020</location></item></stock>"
        var myParser = new DOMParser();

        var xmlObject = myParser.parseFromString(xmlString, "text/xml") 

        var xmlResults = document.evaluate("/stock/item/name[contains(text(), 'jacket')]", xmlObject, null, XPathResult.ANY_TYPE, null);

        var singleResult = xmlResults.iterateNext();

        while (singleResult){
            console.log(singleResult.textContent);
            singleResult = xmlResults.iterateNext();
        }

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

1 Ответ

0 голосов
/ 24 марта 2019

Попробуйте /stock/item[contains(name, "jacket")]/location/text()

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