gpt4 book ai didi

java - 如何替换 XML 中的空值

转载 作者:行者123 更新时间:2023-11-29 08:33:22 25 4
gpt4 key购买 nike

我正在使用 DOM 解析器在 xml 文件中添加更多标签。我正在使用 DOM 解析器创建一些新标签,并希望通过传递 arraylist 来设置它们的值。我的数组列表包含我从数据库中检索的值。

我的代码如下:

loading file using dom parser


for(String s:a.List){
Element n= doc.createElement("value");
n.appendChild(doc.createTextNode(String.valueOf(s)));

}

我在这里创建新标签并在该标签中传递 s 的值。

Output I am getting:

<value>1</value>

<value>2</value>

<value>3</value>

<value>null</value>

<value>null</value>

<value>4</value>

;;等等

Expected output:

<value>1</value>
<value>2</value>

<value>3</value>

<value/>

<value/>

<value>4<value>

我想删除从数据库到 arraylist 而不是 xml 的 null 并获取上面提到的表单请帮忙...

最佳答案

空标签:

String.valueOf() 强制将 null 转换为字符串 "null"。只需删除该转换,空标记就会崩溃:

for(String s : a.List){
Element n = doc.createElement("value");
n.appendChild(doc.createTextNode(s)); // null renders as empty
}

对于空字符串 "" 应该发生相同的折叠(如果您也在对字符串做其他事情,这可能会很方便):

for(String s : a.List){
Element n = doc.createElement("value");
if(s == null) { s = ""; } // force nulls to be empty Strings
n.appendChild(doc.createTextNode(s));
}

...或者您可以有条件地省略子项(这也会创建折叠标签):

for(String s : a.List){
Element n = doc.createElement("value");
if(s != null) {
n.appendChild(doc.createTextNode(s)); // only append non-null values
}
}

没有标签:

如果你想完全省略标签,你可以这样做:

for(String s : a.List){
if(s != null) {
Element n = doc.createElement("value");
n.appendChild(doc.createTextNode(s));
}
}

关于java - 如何替换 XML 中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com