如何选择"红色矩形"来自另一个TD标签?
xml的来源。如何正确选择<TD valign="top" width="40%">
<?xml version="1.0" encoding="UTF-8"?>
<TD width="10">
<IMG alt="" height="1" src="images/avro/spacer.gif" width="10"/>
</TD>
<TD valign="top" width="40%">
<B>Outward:</B>
<STRONG>Tue 18 December 2007</STRONG>
<BR/>
<BR/>
<B>12:00</B>
Depart Malaga, Costa del Sol (AGP)
<BR/>
<BR/>
<B>13:40</B>
Arrive London Luton (LTN)
<BR/>
<BR/>
<SCRIPT language="JavaScript">...</SCRIPT>
<BR/>
<BR/>
<B>Monarch Scheduled ZB13</B>
<BR/>
Total flight time: 0240
</TD>
&#13;
此变体不起作用
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Airlanes</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
</tr>
<xsl:for-each select="//TD[@valign='top' and @width='40%']">
<tr>
<td><xsl:value-of select="STRONG" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
&#13;
答案 0 :(得分:0)
如何从另一个TD标签中选择“红色矩形”?
这是一个棘手的问题,不是一个简单的问题。假设“另一个TD标记”是您想要的TD元素的兄弟,您可能可能使用此XPath表达式:
../TD[@valign='top' and @width='40%']
选择它。
我说“可能”因为这将选择所有 TD元素,这些元素是上下文节点的兄弟节点并满足谓词中的条件。
您的XSLT 不“从其他TD标记中选择”。您的上下文节点是/
根节点 - 从那里开始指令:
<xsl:for-each select="TD[@valign='top' and @width='40%']">
不选择任何内容,因为TD
不是当前节点的子节点。你应该试试:
<xsl:for-each select="//TD[@valign='top' and @width='40%']">
这是一种推测,因为你还没有向我们展示你的输入和预期的输出。