0
我已經編寫了一個XSL代碼,用於從任何xml文件中刪除沒有任何屬性的空元素。如果空元素有一個屬性,我不想刪除該元素。 例如:<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>
我能夠刪除所有沒有屬性的空元素。如上所述,我無法移除要移除的移動網絡運營商 – jsanjayce
您能澄清您的需求嗎?在這個問題中,你說你「不想刪除這個元素MNO」,但是在你的評論中你說你確實想刪除它。此外,它會只是一個特定的元素,你想(或不想)刪除,或這樣的元素列表?謝謝! –
感謝@TimC的澄清。雅我想要只刪除特定元素MNO是空的,但有屬性。我不想刪除具有此類屬性的任何其他元素(MNO除外) – jsanjayce