Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用XSL显示XML文件,使其看起来像HTML_Html_Xml_Xslt - Fatal编程技术网

使用XSL显示XML文件,使其看起来像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

我是标记语言的新手,需要显示一个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 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,一切都正常