0

使用 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>

您会注意到元素 B 是一个自封闭的 XML 标记。有谁知道我该怎么做 <B></B

4

1 回答 1

1

为什么这有关系?任何使用 XML 解析器读取结果文档的人都不会注意到其中的差异,而任何使用不是 XML 解析器的东西读取它的人都需要接受再教育。大多数 XML 序列化程序不会让您对这些细节进行任何控制,就像它们允许您选择是否在属性值周围使用单引号或双引号一样。

于 2016-06-16T14:37:06.037 回答