更改xpath查询查询的xml属性值?

时间:2009-11-24 20:47:48

标签: javascript xpath

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

设置查询元素和文本节点的nodeValue没问题。但是在设置属性值时,它确实已设置,但未反映在DOM节点属性上。

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

为什么会这样?

我该如何规避呢?

2 个答案:

答案 0 :(得分:2)

一些代码会有很大的帮助,你在做什么浏览器?我使用了这个简单的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>

答案 1 :(得分:0)

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");
            }