XML到XSLT可以从XML打开数据
我有这两个文件XML到XSLT可以从XML打开数据,xml,xslt,xsd,Xml,Xslt,Xsd,我有这两个文件 XML文件: <CadeiaHoteis> <Hoteis id="1"> <codigo>458</codigo> <morada>Porto</morada> <num_quartos>3</num_quartos> <piscina>Não</pis
XML文件:
<CadeiaHoteis>
<Hoteis id="1">
<codigo>458</codigo>
<morada>Porto</morada>
<num_quartos>3</num_quartos>
<piscina>Não</piscina>
<restaurante>
<dados>Sim</dados>
<num_mesas>10</num_mesas>
<num_pessoas>3</num_pessoas>
<hora_abertura>11:30</hora_abertura>
<hora_fechar>23:00</hora_fechar>
</restaurante>
<num_funcionarios>8</num_funcionarios>
</Hoteis>
<Hoteis id="2">
<codigo>381</codigo>
<morada>Lisboa</morada>
<num_quartos>25</num_quartos>
<piscina>Sim</piscina>
<restaurante>
<dados></dados>
<num_mesas></num_mesas>
<num_pessoas></num_pessoas>
<hora_abertura></hora_abertura>
<hora_fechar></hora_fechar>
</restaurante>
<num_funcionarios>6</num_funcionarios>
</Hoteis>
458
波尔图
3.
Não
模拟
10
3.
11:30
23:00
8.
381
葡京
25
模拟
6.
XSLT文件:
<xsl:template match="ns:Hoteis_">
<xsl:variable name="Hoteis/id" select="@id_hotel"/>
<xsl:for-each select="//Hoteis/restaurante">
<xsl:if test="dados != ' '">
<tr>
<td align="center">
<xsl:value-of select= "ns:num_mesas" />
</td>
<td align="center">
<xsl:value-of select= "ns:num_pessoas" />
</td>
<td align="center">
<xsl:value-of select= "ns:hora_abertura" />
</td>
<td align="center">
<xsl:value-of select= "ns:hora_fechar" />
</td>
</tr>
</xsl:if>
<xsl:if test="not(string(dados))">
<tr>
<td>DONT EXIT RESTAURANT <xsl:value-of select= "@id_hotel" /> </td>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:template>
不要离开餐厅
如果dados不是空的,只是没有显示,那么我想要餐厅数据,有人知道我如何显示数据吗???由于源元素是不固定的,并且XSLT中有一些前缀元素选择器,我假设所有元素都属于同一名称空间(我称之为
您的名称空间
)您的源代码实际上是这样开始的:
<CadeiaHoteis xmlns="your-namespace">
<Hoteis id="1">
...
应用于输入数据(如上所述添加namespace属性)将产生以下结果:
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns:ns="your-namespace">
<tr>
<td align="center">10</td>
<td align="center">3</td>
<td align="center">11:30</td>
<td align="center">23:00</td>
</tr>
<tr>
<td>DONT EXIT RESTAURANT </td>
</tr>
</table>
10
3.
11:30
23:00
不要离开餐厅
您可以测试和验证结果
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns:ns="your-namespace">
<tr>
<td align="center">10</td>
<td align="center">3</td>
<td align="center">11:30</td>
<td align="center">23:00</td>
</tr>
<tr>
<td>DONT EXIT RESTAURANT </td>
</tr>
</table>