您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

xml转化html的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

XML文档的终极目标就是做为一个信息的基本类型来存储信息,载被转化为不同的格式来用于各种应用。W3C提出了扩展样式语言规范来实现上述的目的。XSLT(the eXtensible Stylesheet Language Transformation)既是用于XML文本的转化和格式化的标准语言。下面我们给大家介绍一下xml转化html吧!

以下是XML文件的一部分。描述了数据库中的实体:

< ?xml version="1.0" encoding="utf-8" ?

< Entities>

< Entity title="公司客户" name="Company" module="Users">

< Item title="名称" name="Name" type="text"/>

< Item title="编号" name="Number" type="text" property="get"/>

< Item title="经理" name="Manage" type="text"/>

< Item title="电话" name="Phone" type="text"/>

< Item title="联系人" name="Linkman" type="text"/>

< Item title="地址" name="Address" type="text"/>

< Item title="传真" name="Fax" type="text" require="false"/>

< /Entity>

< Entity title="用户" name="User" module="Users">

< Item title="电子邮箱" name="Email" type="text"/>

< Item title="密码" name="Password" type="text"/>

< Item title="消费总额" name="TotalConsumption" type="int"/>

< Item title="真实姓名" name="Name" type="text" require="false"/>

< Item title="公司" name="Company" type="entity" entityName="Company" require="false"/>

< /Entity>

< Entity title="用户地址" name="UserAddress" module="Users">

< Item title="用户" name="User" type="entity" entityName="User" />

< Item title="地址" name="Address" type="text" />

< Item title="电话" name="Phone" type="text"/>

< Item title="是否是默认" name="IsDefault" type="bool" />

< /Entity>

< /Entities>

我现在想做的就是将xml文件转化为表格的形式,是实体及属性能过比较直观的表现出来。下面是对应这个XML文件的XLST:

< ?xml version="1.0" encoding="utf-8"?>

< xsl:stylesheet version="1.0" xmlns:xsl="

xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"

>

< xsl:template match="/">

< html>

< body>

< h2 align="center">

短途餐饮物流平台实体数据分析< br />

< /h2>

< xsl:apply-templates select="Entities/Entity"/>//对Entity节点应用模板

< /body>

< /html>

< /xsl:template>

//Entity节点所对应的模板

< xsl:template match="Entity ">

< b>

< font color="bisgue">

< xsl:value-of select="@title"/>(< xsl:value-of select="@name"/>)数据分析:

< /font>

< br />

< /b>

< table width="70%" bordercolor="black" border="1">

< tr align="center"  style="background-color:White;">

< th width="20%" >数据名称< /th>

< th width="20%">代码< /th>

< th width="20%">类型< /th>

< th width="20%">是否可以为空< /th>

< th>描述< /th>

< /tr>

< xsl:for-each select="Item">//对节点的批量处理,他与元素xsl:apply-templates是两种不同的方法但输出的结果是想通的。

< tr align="center">

< td>

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

< /td>

< td>

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

< /td>

< td>

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

< /td>

< td>

< xsl:apply-templates select="@require"/>

< xsl:if test="not(@require)">//判断是否存在某个节点,用函数not(欲判断的节点)

< /xsl:if>

< /td>

< td>

< xsl:value-of select="(@description)"/>

< xsl:if test="not(@description)">

null

< /xsl:if>

< /td>

< /tr>

< /xsl:for-each>

< /table>

< br />

< /xsl:template>

< xsl:template match="@require">

< /xsl:template>

< /xsl:stylesheet>

以下是XML文件在应用到xlst后输出的格式

公司客户(Company)数据分析:

数据名称 代码 类型 是否可以为空 描述

名称 Name text 否 null

编号 Number text 否 null

经理 Manage text 否 null

电话 Phone text 否 null

联系人 Linkman text 否 null

地址 Address text 否 null

传真 Fax text 是 null

用户(User)数据分析:

数据名称 代码 类型 是否可以为空 描述

电子邮箱 Email text 否 null

密码 Password text 否 null

消费总额 TotalConsumption int 否 null

真实姓名 Name text 是 null

公司 Company entity 是 null

用户地址(UserAddress)数据分析:

数据名称 代码 类型 是否可以为空 描述

用户 User entity 否 null

地址 Address text 否 null

电话 Phone text 否 null

是否是默认 IsDefault bool 否 null

下面代码将XML文件转化为和HTML文件:

/// < summary>

///将xml转化为html

/// < /summary>

/// < param name="XmlPath">xml文件路径< /param>

/// < param name="XslFilePath">xslt文件路径< /param>

/// < param name="htmlFilePath">声称的html文件路径< /param>

public static void XmlTransToHtml(string xmlPath, string xslFilePath, string htmlFilePath)

{

//生成Html文件路径

string HtmlFilePath = htmlFilePath;

XPathDocument myXPathDoc = new XPathDocument(xmlPath);

XslCompiledTransform myXslTrans = new XslCompiledTransform();

//加载XSL文件

myXslTrans.Load(xslFilePath);

XmlTextWriter myWriter = new XmlTextWriter(HtmlFilePath, System.Text.Encoding.Default);

myXslTrans.Transform(myXPathDoc, null, myWriter);

myWriter.Close();

}

在测试类中调用这个方法,

运行测试就会得到我们需要的html文件。

以上就是我们给大家介绍的xml转化html了。希望大家继续关注我们的网站!