[英]How to extract a big list of characters from xml file in Java
我有一個大的 xml 文件,我不想解析它,我只想存儲<information>...</information>
之間的每個字符,它們是 xml 文件中的標簽。
我怎樣才能做到這一點?
如果問題是您嘗試提取的數據適合 memory,但整個 XML 文件不適合,則使用流式解析器,例如XPP 。
如果不解析文件,您將無法准確找到<information>
元素中的字符。 你可以做一些在 99% 的時間里都有效的事情,但是當有人做了你沒想到的事情時它會中斷,比如在開始標簽中放置空格,或者有一個注釋掉的<information>
元素,或者把部分外部實體中的<information>
元素。
硬着頭皮。 如果是 XML,則需要 XML 解析器來讀取它。
您可能想解釋為什么您不想解析它,因為這將有助於建議其他解決方案。
話雖如此,如果您可以為該節點構建 XPath,您始終可以使用 XPath 獲取該信息。 請參閱本教程。
更新
鑒於新信息,這不是您想要的解決方案。 如果您想將 xml 視為字符串,則將其讀入 StringBuilder(StringBuffer 的更快、線程不安全的版本)是您最好的選擇。 如果您在使用 StringBuffer 時遇到問題,請發布您嘗試過的代碼和錯誤消息。 它的最大尺寸是java.lang.Integer.MAX_VALUE
,即 2147483647。
考慮到您不想使用解析器並且只想提取兩個標簽之間的所有字符,我寧願建議您將 xml 內容提取為字符串,並使用簡單的正則表達式匹配來提取兩個標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.