遇到一个用PHP把XML中的数据转换成HTML的问题,只是知道方案可是一让手写就写不出来了,真是的.特意从PHP手册取一个放在这里,提个醒,以后这方面还要加强一下
如果对xsl的语法不了解的话可以去
http://www.w3school.com.cn/xsl/xsl_languages.asp 补习一下,这个网站有很多W3C方面的知识
- <?php
-
$xml=<<<EOB
- <allusers>
- <user>
- <uid>bob</uid>
- </user>
- <user>
- <uid>joe</uid>
- </user>
- </allusers>
- EOB;
-
$xsl=<<<EOB
-
<?xmlversion="1.0"encoding="UTF-8"?>
-
<xsl:stylesheetversion="1.0"
-
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-
xmlns:php="http://php.net/xsl">
-
<xsl:outputmethod="html"encoding="utf-8"indent="yes"/>
-
<xsl:templatematch="allusers">
- <html><body>
- <h2>Users</h2>
- <table>
-
<xsl:for-eachselect="user">
- <tr>
- <td>
- <xsl:value-of
-
select="php:function('ucfirst',string(uid))"/>
- </td>
- </tr>
-
</xsl:for-each>
- </table>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- EOB;
-
$xmldoc=DOMDocument::loadXML($xml);
-
$xsldoc=DOMDocument::loadXML($xsl);
-
$proc=newXSLTProcessor();
-
$proc->registerPHPFunctions();
-
$proc->importStyleSheet($xsldoc);
-
echo$proc->transformToXML($xmldoc);
- ?>
例子二:
collection.xml
-
<?xmlversion="1.0"?>
-
<collection>
-
<cd>
-
<title>Fightforyourmind</title>
-
<artist>BenHarper</artist>
-
<year>1995</year>
-
</cd>
-
<cd>
-
<title>ElectricLadyland</title>
-
<artist>JimiHendrix</artist>
-
<year>1997</year>
-
</cd>
-
</collection>
collection.xsl
-
<?xmlversion="1.0"?>
-
<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
<xsl:paramname="owner"select="'NicolasEliaszewicz'"/>
-
<xsl:outputmethod="html"encoding="iso-8859-1"indent="no"/>
-
<xsl:templatematch="collection">
-
Hey!Welcometo<xsl:value-ofselect="$owner"/>'ssweetCDcollection!
-
<xsl:apply-templates/>
-
</xsl:template>
-
<xsl:templatematch="cd">
-
<h1><xsl:value-ofselect="title"/></h1>
-
<h2>by<xsl:value-ofselect="artist"/>-<xsl:value-ofselect="year"/></h2>
-
<hr/>
-
</xsl:template>
-
</xsl:stylesheet>
transformToXML.php
- <?php
-
$xslDoc=newDOMDocument();
-
$xslDoc->load("collection.xsl");
-
$xmlDoc=newDOMDocument();
-
$xmlDoc->load("collection.xml");
-
$proc=newXSLTProcessor();
-
$proc->importStylesheet($xslDoc);
-
echo$proc->transformToXML($xmlDoc);
- ?>
分享到:
相关推荐
下面将详细讨论XML数据转换的相关知识点。 一、XML的基本结构与特性 XML是一种自描述性的文本格式,它使用标签来描述数据。基本结构包括元素(Element)、属性(Attribute)、文本内容(Text Content)等。XML文档...
使用 XSLT 将 XML 文档转换成 HTML 文档 在本文中,我们将学习如何使用 XSLT 将 XML 文档转换成 HTML 文档。XSLT(Extensible Stylesheet Language ...XSLT 是一个功能强大且灵活的语言,能够满足各种数据转换需求。
XML 转换为 HTML 是一种常见的数据转换方式,通过使用 XSL(Extensible Stylesheet Language)语言,对 XML 文件进行变换,生成 HTML 文件。在本实验中,我们将学习如何使用 XSL 对 XML 文件进行变换,生成 HTML ...
这个"XML数据转换教程.rar"可能包含了一系列关于如何处理、转换和解析XML文档的课程或指南。 XML的基本结构包括元素(Element)、属性(Attribute)、文本内容(Text Content)、注释(Comment)、处理指令...
例如,开发者可以利用XMLSpy将XML格式的业务数据转换为更适合展示在网页上的HTML格式,或者将来自不同系统的XML数据转换为统一的格式进行整合。 总之,XMLSpy作为一款全能的XML工具,不仅提供了基本的编辑功能,还...
6. **XMLTransform**:Oracle的XMLTransform函数可以将XML数据转换为其他格式,如HTML、PDF或CSV,这对于报告和数据交换非常有用。 7. **BINARY XML与CLOB存储**:XMLType数据可以以二进制(BINARY XML)或字符...
在实际应用中,常常需要将XML中的数据转换为HTML格式,以便于在网页上直观地展示数据。 ##### Java中XML转HTML技术概述 在Java环境中,实现XML文档向HTML文档转换的技术主要依赖于XSLT(Extensible Stylesheet ...
XSLT(Extensible Stylesheet Language Transformations)是用于转换XML文档的工具,可以将XML数据转换为HTML、XML或其他格式。 Oracle数据库是企业级的关系型数据库管理系统,支持XML数据类型,允许直接存储和查询...
在XML到HTML的转换中,XSLT常常扮演关键角色,它可以将XML数据转换成具有适当样式和布局的HTML页面。此外,JavaScript库如jQuery和XMLHttpRequest也可以用来动态地加载和显示XML数据,实现交互式的Web应用。 在课程...
通过编写XSLT样式表,可以将XML数据转换为HTML格式。例如,可以定义模板匹配XML元素,并规定它们在HTML中的表现形式。 2. JavaScript库:像jQuery或XML2HTML这样的JavaScript库,可以在浏览器端进行XML到HTML的转换...
1. **Tidy类库**:Tidy 是一个开源的HTML/XML转换工具,它可以用来清理和转换HTML文档,使其更接近XML格式。Tidy支持多种输入和输出格式,并且可以通过设置参数来定制转换行为。 #### 三、代码分析 1. **文件读写...
通过理解和应用适当的映射方法,可以有效解决XML数据与关系数据库之间的兼容性问题,实现数据的无缝交换和高效利用。随着Web应用的不断发展,XML作为数据交换的标准格式,其与关系数据库的整合将成为数据管理领域的...
另一方面,XSL(Extensible Stylesheet Language)是用来转换XML文档的样式表语言,尤其是XSLT(XSL Transformations),它是XSL的一部分,专门用于将XML数据转换成其他格式,如HTML、PDF或简单的文本。 XML转换XSL...
在Java编程环境中,XML(可扩展标记语言)和XSLT(可扩展样式表语言转换)是处理和转换XML文档的常见工具。...通过学习和熟练掌握这一技术,开发者可以有效地处理和操作XML数据,提升应用的功能和性能。
在HTML中获取XML数据是一种常见的数据交互方式,特别是在构建动态网页和Web应用程序时。XML(eXtensible Markup Language)是一种结构化数据存储格式,它允许我们以自定义的方式组织和存储信息。与HTML不同,HTML...
XSLT(XSL Transformations)是用于转换XML文档的语言,它可以将XML数据转换成其他格式,如HTML、PDF或纯文本。XSLT使用模板匹配和模式规则来定义如何转换源XML文档。通过这种方式,XML数据可以根据需求转换成适合...
它能够处理HTML中的不规范性,如不闭合的标签等,从而使其适合作为XML数据源。`XmlTextWriter`则用于生成格式化的XML文档,通过设置`Formatting`属性为`Indent`,可以使输出的XML文档具有良好的可读性。 3. **XML...
5. **XSLT(Extensible Stylesheet Language Transformations)**:XSLT是用于转换XML文档的语言,可以将XML数据转换成HTML、其他XML格式或者文本。XSLT基于XPath,使用模板匹配规则来决定如何转换源XML。 6. **DOM...