[英]Generating XML with an arbitrary number of nodes
我是使用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>
謝謝您的幫助。
您正在調用option.appendChild()
並將其結果傳遞給
doc.createElement(...).appendChild(...)
但是appendChild()
返回新添加的子節點, 而不是它附加到的節點。 因此,您實際上是通過文本節點調用option.appendChild()
。 你要:
Element state = doc.createElement("state");
state.appendChild(doc.createTextNode(paths.get(i)));
option.appendChild(state);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.