怎么将XML转换成HTML文件

html-css029

怎么将XML转换成HTML文件,第1张

先把你要转换的文件放到我的电脑!就我的文档C吧(比如)。然后点文档C,再点“文件夹”上的“工具”。点“文件夹选项(O)”再点上面的“查看”然后点“隐藏受保护的操作系统文件”最后把你要换的文件名称最后的字不是格式吗(HTML,什么的)把原先删掉,换成你要的比如XML就行了,不过不是每个文件都适合任何格式的

我给你些我的建议吧

HTML的语法格式比XML宽松多了,真正XML格式的网页是XHTML,也就是下一代HTML,他的格式和XML差不多,很严谨的。

如果你不想利用某些HTML和XML互转工具,自己编的话,有一定难度。

1.HTML的节点可以没末节点,你需要不停扫描<,>,/,这三个符号以检查是否漏掉末节点,并补充。

2.HTML节点还可以不规则嵌套,你需要对已读入节点进行顺序存储,或用栈的数据结构来存储,并验证其层次正确性,最终正确顺序的节点,期间还得缓存节点值,或属性值。

3.HTML不同于XML,许多HTML节点有特殊的意义,许多HTML节点比如<b>,<hr/>都需要经过特殊处理才行。

在技术上,为保证性能,还要在一下方面有加强。

1.强大的字符串扫描,和解析器,此工作也巨大,但网上源码很多,建议到google英文里搜索,HTML

parser,XML

parser(解析器),有很多c#,java,c++的源代码可以利用,没有强大的解析器,跟本无法读懂文件。

2.System.Xml空间的详细运用,除了简单的XMLWriter,还必须学会XMLDocument,XmlNode,能够动态操控XML。还有Xpath技术,操作XMl很有效率。

3.适当还会运用到正则表达式,来处理字符串匹配问题,尤其是节点的操作,即使是再好的字符串查找算法,有时也不如正则表达式,因此system.Text

中的Regex类要掌握好。

4.会控制WinForm中的WebBrower控件

当然,即使你不打算自己做,或已找到了源代码,要想读懂,也必须要以上的知识。

至于工具,网上有,源码还哪找,有java的,但下载不下来。

这是著名的W3C(Html,xml等技术的创始组织)的转换工具,里面也有一些介绍,相信会有用的。

有一个用C#编的转换器,但付费后才可看到源代码

还有一些软件,stylus的产品不错!

可以通过xslt来实现 。

XSLT(Extensible StyleSheet Language Transmations),是XSL(可扩展样式语言)的一种,是一种基于模版的样式转换语言,说的直接一点就是可以把XML文本转成其他格式的文本,那么一起来看转换的代码:

[html] view plain copy print?

<?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>

<head>

<title>Review of My Dogs</title>

</head>

<body>

<h4>list of My Dogs</h4>

<table width="100%" border="1">

<thead>

<tr>

<th>Name</th>

<th>Breed</th>

<th>Age</th>

<th>Full Blood</th>

<th>Color</th>

</tr>

</thead>

<tbody>

<xsl:apply-templates/>

</tbody>

</table>

</body>

</html>

</xsl:template>

<xsl:template match="dog">

<tr>

<td>

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

</td>

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

<td><xsl:apply-templates select="age" /></td>

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

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

</tr>

</xsl:template>

<xsl:template match="age">

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

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

</xsl:template>

</xsl:stylesheet>

将上面的代码写在记事本里,保存成xsl格式,然后再XML文档中引入:

[html] view plain copy print?

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

<?xml-stylesheet type="text/xsl" href="mydogs.xsl"?>

<myDogs>

<dog breed="labrador">

<name>morgan</name>

<age>

<years>1</years>

<months>10</months>

</age>

<fullBlood>yes</fullBlood>

<color>Chocolate</color>

</dog>

</myDogs>