xml转html

html-css028

xml转html,第1张

XML转化格式成HTML

XML 文件和 XSL 文件

XML是一种元标记语言,没有许多固定的标记,为WEB开发人员提供了更大的灵活性。当我们使用HTML时,标记只是简单的表示内容的显示形式,而与表示的内容没有任何关联,为文档的进一步处理带来极大的不便。

首先,请看将被使用的 XML 文档 ("tool.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>

<tool>

<field id="prodName">

<value>HAMMER HG2606</value>

</field>

<field id="prodNo">

<value>32456240</value>

</field>

<field id="price">

<value>$30.00</value>

</field>

</tool>

接着,请看下面的样式表("tool.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>

<form method="post" action="edittool.asp">

<h2>Tool Information (edit):</h2>

<table border="0">

<xsl:for-each select="tool/field">

<tr>

<td>

<xsl:value-of select="@id"/>

</td>

<td>

<input type="text">

<xsl:attribute name="id">

<xsl:value-of select="@id" />

</xsl:attribute>

<xsl:attribute name="name">

<xsl:value-of select="@id" />

</xsl:attribute>

<xsl:attribute name="value">

<xsl:value-of select="value" />

</xsl:attribute>

</input>

</td>

</tr>

</xsl:for-each>

</table>

<br />

<input type="submit" id="btn_sub" name="btn_sub" value="Submit" />

<input type="reset" id="btn_res" name="btn_res" value="Reset" />

</form>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

上面这个 XSL 文件会循环遍历 XML 文件中的元素,并为每个 XML "field" 元素创建一个输入域。field 元素的 id 属性的值被添加到每个 HTML 输入域的 id 和 name 属性。"value" 元素的值被添加到每个 HTML 输入域的 "value" 属性。结果是,可以得到一个包含 XML 文件中值的可编辑的 HTML 表单。然后,我们还有第二个样式表:"tool_updated.xsl"。这个 XSL 文件会被用来显示已更新的 XML 数据。这个样式表不会输出可编辑 HTML 表单,而是一个静态的 HTML 表格:<?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>Updated Tool Information:</h2>

<table border="1">

<xsl:for-each select="tool/field">

<tr>

<td><xsl:value-of select="@id" /></td>

<td><xsl:value-of select="value" /></td>

</tr>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

最后在.xml文件的第一行后添加以下文字:<?xml-stylesheet type="text/xsl" href="resume.xsl"?>

另一种方法:用CSS转XML转化成HTML

<?xml version="1.0" encoding="GB2312"?><resume><name>禹希初</name><sex>男</sex><birthday>1977.5</birthday><skill>数据库设计与维护、WEB开发</skill></resume>

resume.css:resume{ display: block}name{ display: blockfont-size:120%}sex{ display:blocktext-indent:2em}birthday{ display:blocktext-indent:2em}skill{ display:blocktext-indent:2em} 建立文件resume.css后,在个人简历.xml文件的第一行后添加以下文字:<?xml-stylesheet type="text/css" href="resume.css"?>

两种方法可以将XML转为Html:第一种是用Javascript输出Html;第二种是利用XSLT语言,将XML内容转换成Html显示出来。XSL语言 XSL语言的全称是EXtensible Stylesheet Language,中文是指扩展样式表语言。它是为了XML语言而存在的。 如果说CSS是Html语言的样式表,用来定义Html,控制Html显示。那么XSL就是为了描述XML文档而存在的,是XML语言的样式表,它的功能相似于CSS对于Html的作用。 XSLT语言 XSLT 指 XSL 转换(XSL Transformations)。 上面说到XSL语言是为了XML存在的,但XSL不仅仅是样式表。它包括三部分:XSLT、XPath、XSL-FO。 XSLT:一种用于转换 XML 文档的语言。 XPath:一种用于在 XML 文档中导航的语言。 XSL-FO一种用于格式化 XML 文档的语言。