我是新來的java,想知道哪種方法讀取XML更好。將XML讀取爲字符串並將XML讀取爲DOM(或任何其他方法)。只是好奇地想知道,如果將XML讀爲字符串比DOM更好,或者以任何方式有效地讀取XML。閱讀XML作爲字符串與讀取XML作爲DOM中的Java
-1
A
回答
0
如果您不需要任何內容處理,將XML文件讀取爲字符串是有意義的。例如。當Web服務器將XML文件原樣發送到客戶端時。在這種情況下,解析XML將會產生反作用。
但是在所有其他情況下,應該解析XML。通過正則表達式操作XML字符串尤其不是一個好主意。
您從解析中得到的最基本的東西是確定性良好形成性。解析過程只能完成真正的XML文檔。
好構性是指:
- 只有一個根節點。
- 始終匹配開始和結束元素。
- 沒有特殊字符,如
<
,>
和&
用於文本。必須相應地逃脫。 - 文本中的字符(文本節點和屬性)被正確編碼(根據聲明的編碼或作爲unicode實體)。
此外,您可以驗證針對DTD或XSD架構的XML文檔。所以你可以確定文檔結構。
如果你有一個解析DOM文檔,你可以
- 訪問和操作的節點
- 查詢使用XPath
- 等轉換通過XSLT文檔的某些節點 通過XQuery的(與第三方
- 查詢通過JAXB
但是這僅適用於中小型文檔,因爲整個文檔樹必須完全保留在內存中。
除了DOM還有其他的技術來處理大型XML文檔,而不需要保存文檔存儲:
- SAX:低層次的API來處理與回調XML。您實現了一個處理程序類,解析器爲每個打開的標記,關閉標記,文本節點等調用您的處理程序方法。
- StAX:更現代的拉API(包括簡單易用的低級事件API和更高級別的流API)編寫API。
0
- 特殊字符會轉換回原始形式,而您將其作爲DOM進行紅色處理。 像
<
轉換爲<
和其他類似< (<), & (&), > (>), " ("), and ' (')
- 這是很容易,當你閱讀的DOM(即可以在DOM不能轉換,如果你的XML是無效的自動處理在DOM
- 驗證中的XML數據)
相關問題
- 1. 讀取XML中的XML字符串作爲Flex中/ AS3
- 2. XML閱讀字符串值
- 3. 作爲流的Java字符串讀取
- 4. 閱讀Excel中通過OLEDB讀取字符串作爲DBNull的
- 5. 閱讀數字作爲字符串
- 6. 閱讀數字作爲字符串
- 7. 從URL中讀取XML作爲字符串
- 8. 將xml讀取爲字符串
- 9. 閱讀XML與閱讀CSV文件java
- 10. 閱讀日期值作爲字符串
- 11. 試圖讀取完整的XML文件作爲Java中的字符串
- 12. Java XML閱讀
- 13. SQL服務器讀取XML值作爲空字符串
- 14. 如何讀取XML字符串作爲變量?
- 15. 讀取XML字符串從Java
- 16. 的Android獲取XML作爲字符串
- 17. 閱讀和更新XML字符串
- 18. 閱讀和分析XML字符串
- 19. 獲取節點的內部XML作爲字符串在Java中的DOM
- 20. XML閱讀器不工作
- 21. XML閱讀子不工作
- 22. 獲取XML結果作爲字符串
- 23. 閱讀與jQuery XML
- 24. 閱讀與JAXB xml
- 25. JS讀取字符串值作爲HTML
- 26. xlrd讀取字符串作爲浮子
- 27. 讀取文件作爲字符串
- 28. Python讀取\ n作爲字符串
- 29. 從字符串中讀取數據XML
- 30. 從字符串中讀取XML
作爲一般的觀點,沒有人可以說,不知道(a)你想要達到的目標和(b)你如何衡量善良(性能?代碼行?可維護性?) 。在這種特殊情況下,甚至不清楚「將XML讀作字符串」的含義。 –