在线xml到html解析器

问题描述:

我正在寻找一个解析任何xml到html的在线程序。举例来说,如果我有以下XML布局在线xml到html解析器

<users> 
    <user> 
     </name>john</name> 
     <pictures> 
       <pic1>URL of picture1.png</pic1> 
       <pic2>URL of picture2.png</pic2> 
     </pictures> 
    </user> 
    <user> 
     </name>mary</name> 
     <pictures> 
       <pic1>URL of picture1.png</pic1> 
       <pic2>URL of picture2.png</pic2> 
     </pictures> 
    </user> 
</users> 

它可以创建显示节点的内容的HTML页面,并给予方便阅读一些最少的格式。任何这样的工具?

编辑:我只是举了一个例子,我想要一个通用工具,它可以在事先不知道其结构的情况下解析任何xml。

你可以试试这个。

http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog_choose

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- Edited by XMLSpy® --> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
<html> 
<body> 
<h2>My CD Collection</h2> 
<table border="1"> 
<tr bgcolor="#9acd32"> 
    <th>Title</th> 
    <th>Artist</th> 
</tr> 
<xsl:for-each select="catalog/cd"> 
<tr> 
    <td><xsl:value-of select="title"/></td> 
    <xsl:choose> 
    <xsl:when test="price > 10"> 
    <td bgcolor="#ff00ff"> 
    <xsl:value-of select="artist"/> 
    </td> 
    </xsl:when> 
    <xsl:otherwise> 
    <td><xsl:value-of select="artist"/></td> 
    </xsl:otherwise> 
    </xsl:choose> 
    </tr> 
</xsl:for-each> 
</table> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
+0

这绝不是通用的,在OP给出的例子中,结果与原始数据无关。 – hielsnoppe

一个来解决这个办法是应用XSLT转换。

你需要创建一个XSL样式表,像...

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
<html> 
<head> 
    <title>Contacts</title> 
</head> 
<body> 
    <xsl:for-each select="//user"> 
     <h2><xsl:value-of select="name" /></h2> 
     <p><xsl:value-of select="pictures/pic1" /></p> 
     <p><xsl:value-of select="pictures/pic2" /></p> 
    </xsl:for-each> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 

然后链接到它在你的XML文件的顶部。在下面的例子中,第二行连接到名为'myStyleSheet.xsl'的样式表。

<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet type="text/xsl" href="myStyleSheet.xsl"?> 
<users> 
    <user> 
     <name>john</name> 
     <pictures> 
       <pic1>URL of picture1.png</pic1> 
       <pic2>URL of picture2.png</pic2> 
     </pictures> 
    </user> 
    <user> 
     <name>mary</name> 
     <pictures> 
       <pic1>URL of picture1.png</pic1> 
       <pic2>URL of picture2.png</pic2> 
     </pictures> 
    </user> 
</users> 
+0

此解决方案假定我知道xml文件的结构。 – Ketan