使用XSLT/XSL解析具有相同名称的子元素的XML,需要使用XPath表达式来选择相同名称的子元素,并使用XSLT模板来处理这些元素。
以下是一个简单的XSLT样例,用于解析具有相同名称的子元素的XML:
<?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>子元素列表</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>名称</th>
<th>值</th>
</tr>
<xsl:for-each select="//child[@name=preceding-sibling::child/@name]">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="text()"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
在这个样例中,我们使用了XPath表达式//child[@name=preceding-sibling::child/@name]
来选择具有相同名称的子元素。然后,我们使用XSLT模板来生成一个HTML表格,显示这些子元素的名称和值。
需要注意的是,这个样例只是一个简单的示例,实际应用中可能需要更复杂的XSLT样式表来处理不同的情况。此外,如果需要处理更复杂的XML文档,可能需要使用更高级的XPath表达式和XSLT功能。