当我不知道节点的名称时,如何使用 XSTL 转换 XML 文档。所以基本上它应该适用于任何 XML 文档。
假设我得到了这个 XML 文档:
<?xml version="1.0"?>
<?xml-stylesheet href="transform.xsl" type="text/xsl" ?>
<!DOCTYPE cinema [
<!ELEMENT a (b*)>
<!ELEMENT b (c,d,e)>
<!ELEMENT c (#PCDATA)>
<!ELEMENT d (#PCDATA)>
<!ELEMENT e (#PCDATA)>
]>
<cinema>
<movie>
<actor>Some actor</actor>
<title>Some title</title>
<year>Some year</year>
</movie>
</cinema>
我将如何从中创建一个 HTML 表格?我知道我可以像这样匹配根元素:
<xsl:template match="/">
然后我选择所有这样的电影:
<xsl:for-each select="/*/*">
但是我怎么知道每部电影有一行,演员,标题和年份三列?特别是因为 XML 文件(电影)应该只能有 2 个孩子或 5 个孩子。
+++编辑+++
如果我这样做:
<tr>
<td><xsl:value-of select="."/></td>
</tr>
我将每部电影的详细信息排成一行。这几乎接近我想要实现的目标。但是我如何在该行的三列中展开电影细节?