假设XML消息中存在错误:
良构
<Person><Name>Attila</Name><ID>001</ID><Age>45</Age></Person>
不是很好的
<Pxxxon><Name>Attila</9327><ID>001</ID><Age>45</Age></Person>
是否有任何Java库或代码可以将非格式良好的XML消息格式化为:
<Pxxxon>
<Name>Attila</9327>
<ID>001</ID>
<Age>45</Age>
</Person>
据我所知,当前的Java库只将有效的XML消息格式化为这种经过修饰的格式。
答案 0 :(得分:2)
不,因为你列出的是&#34;无效&#34;实际上 形式不正确 。
格式良好且有效并不是一回事。
有关详细信息,请参阅Well-formed vs Valid XML,但如果数据格式不正确,根本不是XML ,并且没有XML解析器能够读取它以重新格式化。< / p>
然后您可能会问到非XML解析器的情况?我们会回复,如果它不是XML,它是什么格式的?要使任何解析器能够读取任何数据,必须定义数据的语法。简单地说,类似于XML的数据不足以指定格式,这就是为什么你找不到一个可以漂亮打印你提供的数据样本的工具。
答案 1 :(得分:-1)
很抱歉发布它作为答案,我还没有评论。 我不知道是否有一个lib来做到这一点。但您可以尝试替换字符“&gt;&lt;”到“&gt; \ n&lt;”并且他们验证组以添加代码标识。 也许搜索“\ n”并验证接下来的两个字符是否等于结束标记的开头。如果没有,他们会添加标识。