0

私はJavaでの作業が初めてです。次の形式の XML ファイルを書き出そうとしています。

<option>
    <name>CompilerOptions</name>  
       <state>Directory1</state>
       <state>Directory2</state>
       <state>Directory3</state>
    </name>
</option>

ディレクトリの数は任意であり、ユーザーの選択によって異なります。XML ファイルを生成するコードのセクションを次に示します。

    for(int i = 0; i < paths.size(); i++) {
    option.appendChild(doc.createElement("state").appendChild(doc.createTextNode(paths.get(i))));
    }
    child.appendChild(option);

問題は、出力にタグがないことです。これは、doc.createElement("state") によって作成されると予想していました。これらのノードが作成されないのはなぜですか?

例を次に示します。

<option>
    <name>CompilerOptions</name>
    Directory1
    Directory2
    Directory3
</option>

助けてくれてありがとう。

4

1 に答える 1

2

あなたは呼び出しoption.appendChild()て、結果を渡しています

doc.createElement(...).appendChild(...)

ただし、追加されたノードではなくappendChild()、新しく追加された子を返します。つまり、実際にはテキスト ノードで呼び出しています。あなたがしたい:option.appendChild()

Element state = doc.createElement("state");
state.appendChild(doc.createTextNode(paths.get(i)));
option.appendChild(state);
于 2014-07-10T16:25:10.107 に答える