0

タイトルが説明しているように、私は次のようにxmlを取得しようとしています:

<Measurement>
    <Name>Board_1_Output_0</Name>
    <LongIdentifier>Board 1 Output 0<LongIdentifier/>
    ...
    <ECUAddress>2000000F</ECUAddress>
</Measurement>
<Measurement>
    <Name/>
    <LongIdentifier/>
    ...
    <ECUAddress/>
</Measurement>

<Measurement>次のように、の子ノード<Measurement>が空の場合は条件付きで削除します。

<Measurement>
    <Name>Board_1_Output_0</Name>
    <LongIdentifier>Board 1 Output 0<LongIdentifier/>
    ...
    <ECUAddress>2000000F</ECUAddress>
</Measurement>

このセクションの現在の xslt は次のようになります。

<xsl:for-each select="Measurement">
    <xsl:text>/begin MEASUREMENT</xsl:text>
    <xsl:text>/* Name           */&#x09;</xsl:text>
    <xsl:value-of select ="Name"/>
    <xsl:apply-templates select="LongIdentifier">
    <xsl:text>ECU_ADDRESS&#x09;&#x09;&#x09;&#x09;</xsl:text>
    <xsl:value-of select ="ECUAddress"/>
<xsl:text>/end MEASUREMENT</xsl:text>
</xsl:for-each ><!-- Measurement -->

条件付きで各セクションを見て<Measurment>、子タグのいずれかが空の場合は XML タグを出力しないと考えましたが、親<Measurement>要素をそのままにしておくことしかできません。

<Measurement></Measurement>

同じ xslt スタイルシートに空の子があることがわかった場合、親 xml ノードを削除する方法はありますか? または、別のスタイルシートを介して xml を実行し、空の子を持つ XML ノードを削除する必要がありますか?

4

1 に答える 1