私のコードの下に空の値があるXMLノードを削除しようとしています
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="node()|@*" >
<xsl:copy>
<xsl:apply-templates select="@*[.!='']" />
<xsl:apply-templates select="node()" />
</xsl:copy>
</xsl:template>
入力:
<Test><id value=""></id><name value="Test"></name></Test>
出力:
<Test><id /><name value="Test" /></Test>
期待される出力:
<Test><name value="Test" /></Test>
ここで
<id\>
タグを削除する必要があります。不足している場所を提案してください。
上記の問題を解決するのを手伝ってください。
回答 1 件
関連記事
- Pythonを使用して、テキストファイルから両方の重複(元の重複と重複)を削除します
- Pythonでremove()を使用して特定のセルを削除するにはどうすればよいですか?
- AppleScriptの「doshellscript」を介して一部のシェルコマンドを使用すると出力が空になります
- FFTを使用して画像からrepititveパターンを削除する方法
- Mongooseを使用して、コレクション内のすべてのドキュメントからフィールドを削除するにはどうすればよいですか?
- Powershellを使用してテキストファイルにフレーズが存在する場合は、フレーズのリストを削除します
- 非アルファベットを削除します(できればラムダ関数または短いがforループではない何かを使用します)
- ディレクティブを使用して空のngselectに焦点を合わせる
- URLでクエリパラメータを作成するときに、qsstringifyで値が空またはnullのキーを削除します
- シェルスクリプトを使用して両方の文から単語の重複を削除するにはどうすればよいですか?
あなたのスクリプトはそのようなものだけをスキップします空の属性、包含全体ではありません 素子。
スキップしたい場合要素全体 少なくとも1つの空の属性、 そのような要素に一致する空のテンプレートを使用します。
そして普通のアイデンティティーテンプレート。
これらの「削除された」要素の場所に残っている空の行を省略するには、
<xsl:strip-space elements="*"/>
を追加できます あなたのスクリプトに。