使用XSL显示XML文件,使其看起来像HTML
我是标记语言的新手,需要显示一个HTML表,将其转换为XML,然后使用XSL显示它,看起来与HTML相同。下面是HTML表格的一部分:使用XSL显示XML文件,使其看起来像HTML,html,xml,xslt,Html,Xml,Xslt,我是标记语言的新手,需要显示一个HTML表,将其转换为XML,然后使用XSL显示它,看起来与HTML相同。下面是HTML表格的一部分: <table border="1" cellpadding="5" summary="Obesity and other statistics"> <tr> <th>State</th> <th>Obese adults</th> <th>Obese ch
<table border="1"
cellpadding="5"
summary="Obesity and other statistics">
<tr>
<th>State</th>
<th>Obese adults</th>
<th>Obese children and adolescents</th>
<th>Median Household Income</th>
<th>H.S Graduation rate</th>
</tr>
<tr>
<td>Mississippi</td>
<td>34.4%</td>
<td>17.8%</td>
<td>$36,919</td>
<td>80.4%</td>
</tr>
陈述
肥胖成年人
肥胖儿童和青少年
家庭收入中位数
H.S毕业率
密西西比
34.4%
17.8%
$36,919
80.4%
4列,多行中有1个标题行。具有摘要(不需要,可以轻松删除)、单元格填充和边框。以下是XML表的开头:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="mg.xsl"?>
<data>
<columns>
<State>State</State>
<Obese_adults>Obese adults</Obese_adults>
<Obese_children_and_adolescents>Obese children and adolescents</Obese_children_and_adolescents>
<Median_Household_Income>Median Household Income</Median_Household_Income>
<H_S_Graduation_rate>H.S Graduation rate</H_S_Graduation_rate>
</columns>
<records>
<record>
<State>Mississippi</State>
<Obese_adults>34.4%</Obese_adults>
<Obese_children_and_adolescents>17.8%</Obese_children_and_adolescents>
<Median_Household_Income>$36,919</Median_Household_Income>
<H_S_Graduation_rate>80.4%</H_S_Graduation_rate>
</record>
陈述
肥胖成年人
肥胖儿童和青少年
家庭收入中位数
H.S毕业率
密西西比
34.4%
17.8%
$36,919
80.4%
这是根据一个指导原则转换的,这个指导原则可能对我正在尝试做的事情有好处,也可能没有好处。也找不到任何关于它的用途或如何将其与xsl结合使用的明确解释
以下是我对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="/">
<html>
<body>
<h2></h2>
<table border="1">
<th>State</th>
<th>Obese adults</th>
<th>Obese children and adolescents</th>
<th>Median Household Income</th>
<th>H.S Graduation rate</th>
</tr>
<xsl:for-each select="data/records/record">
<tr>
<td><xsl:value-of select="State"/></td>
<td><xsl:value-of select="Obese adults"/></td>
<td><xsl:value-of select="Obese children and adolescents"/></td>
<td><xsl:value-of select="Median Household Income"/></td>
<td><xsl:value-of select="H.S Graduation rate"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
陈述
肥胖成年人
肥胖儿童和青少年
家庭收入中位数
H.S毕业率
这又是根据我找到的模板形成的。我知道它在做什么,但不知道它做错了什么,为什么不起作用。我会感谢你的帮助,尤其是如果我还不知道该怎么做的话。谢谢
编辑:我得到的错误是“加载样式表时出错:XPath解析失败:需要运算符:”顺便说一下 您的XSLT中有一些小错误,这里是您编辑的一个
<?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="/">
<html>
<body>
<h2></h2>
<table border="1">
<tr>
<th>State</th>
<th>Obese adults</th>
<th>Obese children and adolescents</th>
<th>Median Household Income</th>
<th>H.S Graduation rate</th>
</tr>
<xsl:for-each select="data/records/record">
<tr>
<td><xsl:value-of select="State"/></td>
<td><xsl:value-of select="Obese_adults"/></td>
<td><xsl:value-of select="Obese_children_and_adolescents"/></td>
<td><xsl:value-of select="Median_Household_Income"/></td>
<td><xsl:value-of select="H_S_Graduation_rate"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
陈述
肥胖成年人
肥胖儿童和青少年
家庭收入中位数
H.S毕业率
应用于XML的输出将是
<html>
<body>
<h2></h2>
<table border="1">
<tr>
<th>State</th>
<th>Obese adults</th>
<th>Obese children and adolescents</th>
<th>Median Household Income</th>
<th>H.S Graduation rate</th>
</tr>
<tr>
<td>Mississippi</td>
<td>34.4%</td>
<td>17.8%</td>
<td>$36,919</td>
<td>80.4%</td>
</tr>
</table>
</body>
</html>
陈述
肥胖成年人
肥胖儿童和青少年
家庭收入中位数
H.S毕业率
密西西比
34.4%
17.8%
$36,919
80.4%
谢谢,我刚刚完成了所有的修复,还去掉了xml中的索引。重新排序以匹配xsl,一切都正常