如何从子节点的同级条件中获得子节点的值

时间:2019-03-24 20:06:36

标签: javascript xml xpath

我正在尝试使用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 :(得分:0)

尝试/stock/item[contains(name, "jacket")]/location/text()