假设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 vs Valid XML。但是,如果数据格式不正确,则根本不是XML,而也不是XML解析器,它将无法读取以重新格式化它。
然后,您可能会问非XML解析器呢?如果不是XML,我们将答复哪种格式?为了使任何解析器能够读取任何数据,必须定义数据的语法。简单地说,数据类似于XML不足以指定格式,这就是为什么您找不到能够漂亮地打印您提供的数据样本的工具的原因。