xmlファイルの属性を持たない空要素を削除するためのXSLコードを作成しました。空の要素に属性がある場合、その要素を削除したくありません。 例:<ABC xyz="true"/>
これは空の要素ですが属性があるため、この要素は削除しません。 MNOの特定の要素についてのみ など:<ABC><MNO def="hello"></ABC>
、この要素MNOを削除します。助けてくださいXSL変換 - 特定の要素の空要素を削除する
XSLコードは、以下の共有:私が正しく理解していれば
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" >
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @* "/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[not(.//@*) and not(normalize-space())]" />
<xsl:template match="*/text()[not(normalize-space())]" />
</xsl:stylesheet>
属性のないすべての空の要素を削除できました。上記のとおり、私は削除したいMNOを取り除くことができません – jsanjayce
あなたの要件を明確にすることはできますか?質問では、あなたは "この要素MNOを削除したくありません。"と言っていますが、あなたのコメントでは削除したいと言います。また、削除したい(または削除したくない)特定の要素、またはそのような要素のリストだけでしょうか?ありがとう! –
ありがとうございます@TimCありがとうございます。私は空であるが、属性を持つ特定の要素MNOだけを削除したいと思います。私はそのような特性を持つ他の要素(MNOを除く)を取り除きたいとは思わない。 – jsanjayce