70 個の要素を含む 300 KB の xml ファイルがあります。ルートの要素の 1 つを効率的に削除する必要があります。最善のアプローチは何ですか?
- メモリ内の要素を切り離して保存し、移動して上書きする必要がありますか?
- より良いオプションはありますか?
私はorg.jdomが好きですが、改善は大歓迎です
70 個の要素を含む 300 KB の xml ファイルがあります。ルートの要素の 1 つを効率的に削除する必要があります。最善のアプローチは何ですか?
私はorg.jdomが好きですが、改善は大歓迎です
XML ファイルを読み込んで解析せずに作業する方法はないため、最初のアプローチでうまくいく可能性があります。
除外したいものが非常に単純で簡単に検索できる場合は、ファイルを処理して、除外したいものを書き換えずに読み取り中に書き出すこともできます..これは、解析するよりもはるかに簡単です..
必要のない特定の要素を除いて、すべての XML を前方にコピーする単純な XSLT はどうでしょうか?
変更された恒等変換を使用して、抑制したい要素に空のテンプレートを追加するだけです。
例えば:
<?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>