我有一个列表,我在其中添加数据库中的数据。我的代码如下。
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)));
}
通过这个我也没有得到逗号分隔值
答案 0 :(得分:1)
如果要使用逗号分隔值,一般方法是将列表转换为字符串,然后将此字符串(而不是列表)添加到XML。这是一种方法(假设您使用Java 8):
String commaSeparated = String.join(",", list);
Element n= doc.createElement("value");
n.appendChild(doc.createTextNode(commaSeparated));
在您的特定情况下(您提供的DOM解析器示例):在for循环中,为列表中的每个值创建一个元素;你想要做的是创建一个条目(没有循环):
testenv