繁体   English   中英

生成具有任意数量节点的XML

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM