我有一個300 KB的xml文件,其中包含70個元素。 我需要在刪除根元素之一時高效。 什麼是最好的方法?使用jdom從xml文件中刪除元素
- 我應該分離內存中的元素,保存它並通過移動它覆蓋它?
- 有更好的選擇嗎?
我喜歡org.jdom中,但任何改善是值得歡迎的
我有一個300 KB的xml文件,其中包含70個元素。 我需要在刪除根元素之一時高效。 什麼是最好的方法?使用jdom從xml文件中刪除元素
我喜歡org.jdom中,但任何改善是值得歡迎的
由於沒有辦法用一個XML文件來工作,而無需加載和分析它的第一種方法可以工作。此外,你不能簡單地如果沒有涉及到的部分,請從文件中刪除一部分而不重寫它。
如果要排除的是非常簡單和易於搜索,您還可以處理文件而你無需重寫要排除什麼讀它寫出來..這可能比解析它很簡單..
除了不需要的特定元素外,一個簡單的XSLT如何複製所有的XML?
您可以使用修改的identity transform,併爲要禁止的元素添加空模板。
例如:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<!--Identity transform copies all nodes and attributes by default -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<!--Create an empty template for the elements that you want to suppress-->
<xsl:template match="ElementToRemove" />
</xsl:stylesheet>
其實還有一種方法用xml文件工作,沒有解析,VTD-XML有內置的索引功能,規避解析的開銷......提供了一個預解析記錄並保存與XML一起的索引。它被稱爲vtd + xml ... http://www.codeproject.com/Articles/24663/Index-XML-Documents-with-VTD-XML – 2016-04-20 19:43:09