2017-08-05 65 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?