簡體   English   中英

如何從 Java 中的 xml 文件中提取大量字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM