使用DOM在开始和结束标记之间添加属性而不是一个标记

时间:2012-08-21 21:48:16

标签: java xml dom

所以我在JAVA中使用DOM解析器来创建XML文件。 当我想添加一个子元素时,它看起来像这样:

<childElement attribute1="attributeValue" attribute2="attributeValue"/>

但是我宁愿我的XML看起来像这样(虽然显然DOM不会产生这些缩进和单独的行):

<childElement>
    <attribute1>attributeValue</attribute1>
    <attribute2>attributeValue</attribute2>
</childElement>

现有代码已经过时(我不想要的):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Dennis>
        <Hair Colour="Brown"/>
    </Dennis>
    <!--This is a comment :)-->

我希望它看起来像:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Dennis>
        <Hair>
            <Colour>Brown</colour>
        </Hair>
    </Dennis>
    <!--This is a comment :)-->

*注意:我理解java是否能够制作所有这些缩进而不是。我想要它做的是使用"<open tag>value<close tag>"格式。

1 个答案:

答案 0 :(得分:2)

只需将名为attribute1的元素添加到元素childElement

DOM本身是基于内存的,但您可以将其序列化为xml,并且大多数库都有漂亮的打印机,这些都是缩进。

进一步阅读

将文档写入文件部分显示了如何使用此库格式化输出。