我有XML文件:XSLT如何檢查XML節點是否存在?
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<Data>
<Records>
<Record>
<AddInfo>
<Info>
</Info>
</AddInfo>
</Record>
</Records>
</Data>
和XSL文件:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Dane">
<html>
<link rel="stylesheet" type="text/css" href="report.css"></link>
<body>
<h2>Table1</h2>
<table border="1" cellspacing="0">
<tr>
<th>XXX</th>
</tr>
<xsl:for-each select="Records/Record">
<tr>
<td>
<xsl:value-of select="XXX"/>
</td>
</tr>
</xsl:for-each>
</table>
<h2>SecondTable</h2>
<table border="1" cellspacing="0">
<tr>
<th>YYY</th>
<th>ZZZ</th>
</tr>
<xsl:for-each select="Records/Record/AddInfo/Info">
<tr>
<td>
<xsl:value-of select="YYY"/>
</td>
<td>
<xsl:value-of select="ZZZ"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我想讓它這樣的:如果節點存在,則與「信息」節點顯示錶,如果沒有,顯示一些文字。
我一直在試圖
<xsl:if test="following-sibling::AddInfo">
</xsl:if>
和
<xsl:if test="AddInfo">
</xsl:if>
但它無法正常工作。
我希望它是這樣的:
Table1
---------------------
| | | |
(條件:如果內部的XML將是節點,我想顯示第二個表,表1下)
SecondTable
-------------
| | |
我怎樣才能做到這一點?
目前還不清楚是什麼你在問。一件重要的事情,你沒有公佈你的預期產出。並且,將所有場景放入您想要處理的輸入XML中。 – 2014-12-19 11:18:03
你的問題不清楚。你想在哪裏插入這個測試?你只有一個普通表,所以「*如果節點存在,顯示帶有」Info「節點的表,如果不存在,則顯示」SOME TEXT *「幾乎沒有意義。 – 2014-12-19 11:19:34
所以,你說如果addInfo元素不存在,應該顯示一些文本? – Rnet 2014-12-19 11:24:02