我想知道如何编辑另一个节点内部的节点内的属性。这将是我的xml的一个例子:
<name>Rule_1</name>
<synonymn name="user" class="test.user" />
<rule name="adult">
<if leftTerm="user.getAge" op=">" rightTerm="18" />
<then method="user.mostrarMensaje" arg1="true" />
</rule>
<rule name="underAge">
<if leftTerm="user.getAge" op="<" rightTerm="18" />
<then method="user.showMessage" arg1="false" />
</rule>
我想将每个规则的属性rightTerm更改为20,但我无法访问它,而且我得到NullReferenceException。
我正在使用Java DOM解析器。
答案 0 :(得分:0)
Node rule = doc.getElementsByTagName("rule").item(0);
// update IF attribute
Node if=rule.getFirstChild();
NamedNodeMap attr = if.getAttributes();
Node nodeAttr = attr.getNamedItem("rightTerm");
nodeAttr.setTextContent("20");
或者你可以直接做到
Node If= doc.getElementsByTagName("if").item(0);
NamedNodeMap attr = If.getAttributes();
Node nodeAttr = attr.getNamedItem("rightTerm");
nodeAttr.setTextContent("20");