我有一个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