使用JOOX转换XML时遇到问题。我正在对匹配fieldTag的元素进行一些更改
我的代码如下:
Match xml = $(new StringReader(content.toString()));
Match find = xml.find(fieldTag);
Iterator<Element> iterator = find.iterator();
while(iterator.hasNext()){
Element next = iterator.next();
String text = $(next).text();
if(text.length() == 0) continue;
next.setNodeValue("....");
}
return xml.toString();
但是,例如,输入这样的XML:
<Body>
<A>ABC</A>
<B></B>
</Body>
这就是我得到的结果:
<Body>
<A>transformed</A>
<B/>
</Body>
您可以注意到Element B是一个自封闭的XML标记。有谁知道如何让它成为<B></B
??
答案 0 :(得分:1)
为什么重要?任何使用XML解析器读取结果文档的人都不会注意到这种差异,任何使用非XML解析器读取它的人都需要重新接受教育。大多数XML序列化程序都不会让您对这些细节进行任何控制,只不过它们允许您选择是否在属性值周围使用单引号或双引号。