2017-08-05 64 views
1

我有一个要求将XML转换为JSON,解析JSON并将其保存在数据库中(因为它在传入的XML中)。传入XML的数据包含&及其相应的HTML &。为了保存这样的XML,我尝试用它们的HTML代替&,但是当我想在将XML保存到数据库中之前尝试恢复到原始数据时,会发生混乱。任何有关如何做到这一点的意见将不胜感激。替换&无效XML的

+0

你用什么语言或工具来完成这项工作? –

+0

我意识到这并不总是一种选择,但是当某人或某个系统向我发送这样的“无效XML”时,我做的第一件事就是将它们指向[XML规范](https:// www。 w3.org/TR/REC-xml/)让他们知道他们不发送XML,因为他们发送的内容不符合XML规范。 –

+0

我为此使用了java。 – Twisha

回答

0

首先尝试确定错误是否可以在源代码中修复:找出(非)XML是如何生成的,修复创建它的程序,然后正确地重新生成数据。

如果除修复损坏的数据之外别无选择,请首先调查一下,以便确切了解您正在处理的损坏情况。特别是,建立使用正确和不正确的&符号的所有数据模式。

然后使用基于文本的工具(而不是基于XML的工具),如sed或perl来匹配您发现的模式并进行更正。

但是,这是一次性的,不要让它变成正常的。您不会接受供应商提供的错误商品,为什么要接受错误的XML?