在标记之间添加逗号分隔值

时间:2017-09-10 16:12:22

标签: java xml

我有一个列表,我在其中添加数据库中的数据。我的代码如下。

list.add(rs.getString(rsMetaData.getColumnName()));
object.set(list);

现在在输出文件流中传递此对象。我正在使用JAXB和DOM解析器来创建XML

write.marshall(object,outputstream);

其中object =此对象用于设置xml

中的值

按照上面的代码,我从数据库列中获取所需的值。在此之后,我将列表中的值设置为xml中的标记。但是把所有标签分开。

我的输出:

<value>1</value>
<value>2</value>
<value>3<value>
<value>4</value>
.
.
and so on

预期产出:

<value>1,2,3,4,5</value>

从我上面提到的代码中,我没有使用逗号分隔代码。请帮忙。

我遵循的另一种方法是使用DOM解析器:

for(String s:list){
 Element n= doc.createElement("value");
n.appendChild(doc.createTextNode((s)));
}

通过这个我也没有得到逗号分隔值

1 个答案:

答案 0 :(得分:1)

如果要使用逗号分隔值,一般方法是将列表转换为字符串,然后将此字符串(而不是列表)添加到XML。这是一种方法(假设您使用Java 8):

String commaSeparated = String.join(",", list);
Element n= doc.createElement("value");
n.appendChild(doc.createTextNode(commaSeparated));

在您的特定情况下(您提供的DOM解析器示例):在for循环中,为列表中的每个值创建一个元素;你想要做的是创建一个条目(没有循环):

testenv