0
以下是示例XML:通過節點XSLT蟒蛇循環
<root>
<slide name="abc.xml" nav_info="foo" nav_lvl_1="foobar" nav_lvl_2="foobarz">
<title>a</title>
<Introduction>
<para>b</para>
</Introduction>
<Text>
<header>c</header>
<para>d</para>
<header>e</header>
<para>f</para>
<header>g</header>
<para>h</para>
</Text>
<Statement>
<para>i</para>
</Statement>
</slide>
</root>
我必須使用XSLT來獲取每個節點的文字...我沒有得到節點title
的文本的任何問題, statement
但是,當我嘗試循環節點文本時,我只得到第一個header
和para
。爲了更好地理解,我正在做什麼!
<xsl:choose>
<xsl:when test="@nav_info='foo'">
<xsl:for-each select="Text">
<xsl:if test="header">
<xsl:value-of select="header">
</xsl:if
<xsl:if test="para">
<xsl:value-of select="para">
</xsl:if
</xsl:for-each>
</xsl:when>
</xsl:choose>
Thsi給中小企業的輸出:
c
和d
預計輸出...
c d e f g h
在order..Any建議請! 謝謝
謝謝霍爾曼先生..我同意上面的...我有一個擴展問題。如你所說,我需要通過孩子,但是,我必須理清輸出,即在真正的執行我的代碼我必須在轉換過程中將頭和段的值寫入不同的節點。我必須一次檢查一個條件..就像它是'文本/頭'做些事情,或者如果它是'文本/段'做一些事情..我如何在xslt中實現這個? – Sangamesh
然後你不會使用' ',而是可以用''替換'並且爲了處理每一個的存在並在輸出中構建你需要的節點,有''和''。 –
工作非常感謝你! – Sangamesh