1
我需要從一個XML文件中提取日誌meesages並把它們寫出來,以純文本文件。日誌消息有兩種口味,我想將它們寫入單獨的文件。XSLT條件寫入到兩個不同的文件
我寫了一個樣式表不正是我需要的只是它有時會造成空的文件,因爲XML文件可以不包含一種或另一種的消息。
我很納悶,1)如果有什麼我是個做的是做到這一點的最佳方法,以及2)如果有一種方法來抑制空文件。因爲它已被重新輸入
我的樣品可能包含錯誤。 (原來是一個封閉的網絡上)
注:我使用XSLT 2.0特性。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="text" encoding="iso-8859-1" />
<xsl:param name="break" select="string('
')" />
<xs:template match="/">
<xsl:result-document method="text" href="foo.txt">
<xsl:apply-templates select="Root/a/b/c[contains(., 'foo')]" />
</xsl:reult-document>
<xsl:result-document method="text" href="bar.txt">
<xsl:apply-templates select="Root/a/b/c[not(contains(., 'foo'))]" />
</xsl:reult-document>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select=concat(normalize-space(.), $break)" />
</xsl:template>
</xsl:stylesheet>
+1的一個很好的答案。 – 2011-03-08 04:52:00