2016-06-13 9 views
-1

別のノードの内部にあるノード内の属性を編集する方法を知りたい。これは私のxmlの例のようになります。xml javaの編集属性

<name>Rule_1</name> 
<synonymn name="user" class="test.user" /> 

    <rule name="adult"> 
    <if leftTerm="user.getAge" op="&gt;" rightTerm="18" /> 
    <then method="user.mostrarMensaje" arg1="true" /> 
    </rule> 

    <rule name="underAge"> 
    <if leftTerm="user.getAge" op="&lt;" rightTerm="18" /> 
    <then method="user.showMessage" arg1="false" /> 
    </rule> 

私は20に各ルールの属性rightTermを変更したいが、私はそれにアクセスすることはできませんし、私はとNullReferenceExceptionを取得しています。

私はJava DOMパーサーを使用しています。

答えて

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

か、直接素敵TYを働いた

 Node If= doc.getElementsByTagName("if").item(0); 
     NamedNodeMap attr = If.getAttributes(); 
    Node nodeAttr = attr.getNamedItem("rightTerm"); 
    nodeAttr.setTextContent("20"); 
+0

を行うことができます! – David

関連する問題