0
您好,我有一個問題涉及到使用XSLT將輸入XML轉換爲輸出XML,並刪除僅用於某些元素的換行符和縮進。使用XSLT將XML轉換爲XML並刪除特定元素的換行符
我想說明我的問題:
輸入:
<LISTESTOF>
<ICSGROUP>
<ICSNUM>1</ICSNUM>
<ICSDKNAME>A1</ICSDKNAME>
<ICSUKNAME>B2</ICSUKNAME>
</ICSGROUP>
<ICSGROUP>
<ICSNUM>2</ICSNUM>
<ICSDKNAME>B1</ICSDKNAME>
<ICSUKNAME>B2</ICSUKNAME>
</ICSGROUP>
</LISTESTOF>
輸出:
<LISTESTOF>
<ICSGROUP><ICSNUM>1</ICSNUM>
<ICSDKNAME>A1</ICSDKNAME>
<ICSUKNAME>B2</ICSUKNAME></ICSGROUP>
<ICSGROUP><ICSNUM>2</ICSNUM>
<ICSDKNAME>B1</ICSDKNAME>
<ICSUKNAME>B2</ICSUKNAME></ICSGROUP>
</LISTESTOF>
我的XSLT到目前爲止文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="LISTESTOF">
<xsl:value-of select="'
'" /><LISTESTOF><xsl:apply-templates select="ICSGROUP"/></LISTESTOF>
</xsl:template>
<xsl:template match="ICSGROUP">
<xsl:value-of select="'
'" /><ICSGROUP><xsl:apply-templates select="ICSNUM"/><xsl:value-of select="'
'" /><xsl:apply-templates select="ICSDKNAME"/><xsl:value-of select="'
'" /><xsl:apply-templates select="ICSUKNAME"/></ICSGROUP>
</xsl:template>
<xsl:template match="ICSNUM">
<ICSNUM><xsl:value-of select="."/></ICSNUM>
</xsl:template>
<xsl:template match="ICSDKNAME">
<ICSDKNAME><xsl:value-of select="."/></ICSDKNAME>
</xsl:template>
<xsl:template match="ICSUKNAME">
<ICSUKNAME><xsl:value-of select="."/></ICSUKNAME>
</xsl:template>
</xsl:stylesheet>
是否有清潔解決方案未定義的元素會發生什麼?他們會消失嗎?有什麼建議麼?先謝謝你!
可能更容易使用專用的漂亮的打印機,如http://www.kitebird.com/軟件/ xmlformat /。 – mzjn
你說得對,它會容易得多。但是我的客戶不想使用外部軟件來將他的XML數據導入到InDesign文檔中。 InDesign具有在導入過程中使用外部xslt文件來轉換input-xml的功能。所以我不知何故鎖定了xslt語言及其可能性:( –