如果我要使用XML文件來存儲一些信息,我是否需要一個讀取/寫入數據的XML解析器?我可以使用字符串操作函數嗎?爲什麼不呢?使用XML文件存儲數據
5
A
回答
5
你可以想象使用字符串操作函數,因爲這是XML庫最終使用的。 XML文檔只是特殊格式的長字符串。但是,除非您對XML有所瞭解(以及什麼是和不是有效的XML),否則現在使用XML解析器/序列化器將爲您節省很多麻煩。 XML(名稱空間,轉義序列等)有細微差別,這些問題會導致本地代碼中的問題不知如何正確處理它們。當你處理完所有特殊情況之後,無論如何你都會有效地寫出一個半分析的XML解析器。
4
不要......我重複......不要手動解析或構建XML。
在我的工作中,我們在不同的供應商之間實現了很多接口。我無法告訴你我們有多少次在基於xml的界面上工作,並且遇到了某種轉義編碼/解碼問題。我連接到基於xml的服務時將運行的第一個測試之一是在輸入中添加非法的xml字符。
你叫什麼名字?:鮑勃<> &「
錯誤解析XML文檔
我們遇到了很多次了,如果我們的任何工程師檢查有相近之處:!
xml = "<rootnode>" xml += "<leafnode>" + someValue + "</leafnode>" xml += "</rootnode>"
我們會認真考慮他們的對接可變薪酬只要「someValue中」包含非法字符,你pooched那麼你的代碼開始看起來像這樣:。
xml = "<rootnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "</rootnode>"
然後東西還在吹起來,這樣的天才工程師嘗試:
xml = "<rootnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "</rootnode>" xml = XmlEscape(xml)
注:這個過程實際上發生在我身上兩次在接口上工作時。
您知道它之前,通過線路的流結束看起來像
&lt;rootnode>HELP<rootnode> &lt;rootnode>ME&lt;rootnode&gt;
摘要:
請使用圖書館。 k thx再見。
0
我們可以用tinyXml2,使我們的工作更容易,只包括頭和tinyxml2的CPP文件,你幾乎完成分析和編寫。請找到文檔和手冊在
相關問題
- 1. 使用XQuery將xml文件存儲到eXist xml數據庫中
- 2. 在數據庫中存儲XML文件
- 3. Web場+ XML文件的數據存儲
- 4. Android數據存儲在XML文件
- 5. 存儲轉化成XML使用XML文件中的XML文件
- 6. 如何使用JavaScript將數據存儲在xml文件中?
- 7. 如何使用C#在SQL數據庫中存儲XML文件?
- 8. 存儲XML數據以用於插件
- 9. 存儲XML數據
- 10. 讀取XML文件並將數據存儲到mysql數據庫
- 11. 在數據庫vs文件系統上存儲xml文件
- 12. C#中的數據源內存和存儲到XML文件
- 13. 存儲數據和文件
- 14. 文件數據存儲
- 15. Android數據存儲在xml
- 16. 存儲XML數據集2000
- 17. 使用VAR保存XML標籤數據到XML文件
- 18. 將數組存儲到xml文件中
- 19. 將數據存儲在文本文件或xml中
- 20. 初學者 - 通過XML或文本文件存儲數據
- 21. 如何從存儲插件的xml文件中讀取數據?
- 22. 使用python將數據庫數據存儲到json文件中
- 23. 使用python將數據從xml存儲到數據庫
- 24. AS3 - 如何在XML文件中存儲和使用數組
- 25. 如何使用linq to sql在xml列中存儲xml文件?
- 26. 用於存儲數據的JSON文件
- 27. 將XML用於數據存儲
- 28. 我們可以使用Javascript將HTML表單數據存儲到XML文件嗎?
- 29. GWT應用程序的數據存儲位置 - GAE數據存儲區或XML文件
- 30. 在SQLite數據庫中存儲XML/HTML文件 - 可能嗎?
是什麼庫用於XML?有沒有建立或標準的圖書館? – 2012-02-14 08:14:16
在Java中,它們是庫,在Ruby中是寶石。假設Java,繼續到Apache網站並查看他們的工具。 – Thufir 2012-03-26 12:14:34