【问题标题】:changing value of xml attribute queried by xpath query?更改 xpath 查询查询的 xml 属性的值?
【发布时间】:2009-11-24 20:47:48
【问题描述】:

我使用 javascript xpath 查询 (document.evaluate(...)) 来读取和修改部分 xml/svg/html 文档。

设置查询元素和文本节点的nodeValue是没有问题的。但是在设置属性值的时候,确实是设置了,但是并没有体现在属性DOM节点上。

看起来属性节点的 xpath 查询返回 (name,value) 对而不是属性节点。

为什么会这样?

我该如何规避它?

【问题讨论】:

    标签: javascript xpath


    【解决方案1】:

    一点代码会有很大帮助,你是在什么浏览器中做的?我使用了这个简单的 HTML 代码,并且能够在 FF 3.5 中非常愉快地更改属性。

    <html>
    <body>
    <img src="Jellyfish.jpg"/>
    <script>
        var node = document.evaluate("//img/@src", document, null, XPathResult.ANY_TYPE, null);
        var val = node.iterateNext();
        val.textContent = "Desert.jpg";
    </script>
    </body>
    </html>
    

    【讨论】:

      【解决方案2】:
      xPath.compile("//EXPRESSION_TO_FIND_ATTRIBUTE");
      NodeList list = XPathExpression.evaluate(xmlDocument, XPathConstants.NODESET);
        for (int i = 0; i < list.getLength(); i++){
                      list.item(i).setTextContent("ATTRIBUTE_VALUE");
                  }
      

      【讨论】:

      • 你需要更全面地解释你的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      相关资源
      最近更新 更多