我想通過使用xslt轉換另一個xml來創建一個xml。 問題是:我在單個元素中使用了多個「xsl:select value = ...」的值,並將該元素標記爲CData元素。我在轉換後收到的價值包括多個CData,但我希望它們都在單個CData中。多個CData到一個
例如: 原始XML:
<test>
<text1>WOW</text1>
<text3>NO</text3>
</test>
XSLT(上面有頭有 「布拉」 值爲CDATA):
<?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" cdata-section-elements="Bla" />
<xsl:template match="/">
<Bla id="bla">
text<xsl:value-of select="test/text1" />moreText<xsl:value-of select="test/text3" />
</Bla>
</xsl:template>
</xsl:stylesheet>
輸出的xml:
<?xml version="1.0" encoding="UTF-8"?><Bla id="bla"><![CDATA[text]]><![CDATA[WOW]]><![CDATA[moreText]]><![CDATA[NO]]></Bla>
但是,我最想得到的是:
<?xml version="1.0" encoding="UTF-8"?><Bla id="bla"><![CDATA[textWOWmoreTextNO]]></Bla>
任何人都知道我需要更改以實現此目的嗎?
謝謝!
您使用哪種XSLT處理器?您是否嘗試用例如''?但是你的結果很奇怪,XSLT處理器是這樣做的嗎? –
2014-11-02 15:38:17
我用我的java代碼(使用javax.xml.transform.TransformerFactory)和使用Altova XMLSpy嘗試了它。 – APT 2014-11-02 15:40:08
也,你給我的例子很棒! 如果沒有更好的解決方案。我會用它。 謝謝:) – APT 2014-11-02 16:23:09