假设 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 消息格式化为这种美化格式。
最佳答案
不,因为您列为“无效”的内容实际上格式不正确。
格式正确和有效不是一回事。
- Well-formed 表示文本对象符合 W3C 对 XML 的要求。
- 有效 表示格式正确的 XML 满足指定架构给出的额外要求。
参见 Well-formed vs Valid XML了解更多详细信息,但如果数据格式不正确,它根本不是 XML,并且没有 XML 解析器能够读取它以重新格式化它。
然后您可能会问非 XML 解析器呢?我们会回答,如果它不是 XML,它是什么格式?对于能够读取任何数据的任何解析器,必须定义数据的语法。简单地说数据类似于 XML 不足以指定格式,这就是为什么您找不到可以漂亮地打印您提供的数据样本的工具。
关于java - 将无效的 XML 格式化为漂亮的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30217003/