-3
我有一个复杂的XML,我试图编写一个XSL转换将其转换为HTML。有人可以帮助我吗?复杂的XML的XSL转换
这里是XML
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Mbooks.xsl"?>
<project>
<books>
<bookName>Eclpise</bookName>
<bookCount>3</bookCount>
<Data>
<NEW>
<bookNumber>book3687110</bookNumber>
<ISBN>927fd6ca660e5a9</ISBN>
<Isbninfo>
<IsbninfoDetails>
<IsbninfoName>new book</IsbninfoName>
<IsbninfoVersion>version 1</IsbninfoVersion>
</IsbninfoDetails>
<IsbninfoDetails>
<IsbninfoName> new book 1</IsbninfoName>
<IsbninfoVersion>version 2</IsbninfoVersion>
</IsbninfoDetails>
</Isbninfo>
</NEW>
<NEW>
<bookNumber>book3674796</bookNumber>
<ISBN>6fa276825144</ISBN>
<Isbninfo>
<IsbninfoDetails>
<IsbninfoName>new book 3</IsbninfoName>
<IsbninfoVersion>version 3</IsbninfoVersion>
</IsbninfoDetails>
<IsbninfoDetails>
<IsbninfoName>new book 4</IsbninfoName>
<IsbninfoVersion>version 4</IsbninfoVersion>
</IsbninfoDetails>
</Isbninfo>
</NEW>
</Data>
</books>
<books>
<bookName>ORACLE</bookName>
<bookCount>0</bookCount>
<Data>
</Data>
</books>
<books>
<bookName>MUSIC</bookName>
<bookCount>0</bookCount>
<Data>
</Data>
</books>
</project>
这里是XSLT。
<?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>BOOK_INFORMATION </h2>
<table style="display: inline-block; border: 1px solid; float: left; ">
<tr bgcolor="#FFA500">
<th>book Name</th>
<th>book_Count</th>
<th>book_Number</th>
<th>ISBN</th>
<th>Isbninfo_Name</th>
<th>Isbninfo_Version</th>
</tr>
<xsl:for-each select="project/books">
<tr>
<td>
<xsl:value-of select="bookName"/>
</td>
<td>
<xsl:value-of select="bookCount"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我不知道我怎么会得到其他的信息:我想这一切在一个表中。我试过在<xsl:for-each>
里面,但它不起作用。
嘿谢谢你的回答,但它有可能不会重复书名,book_count,book_number和ISBN号码,我们可以添加像行跨或左右,使它看起来像一个正确的表? 感谢您的帮助。 – Maxyie
是的,这当然是可能的,但你应该更清楚地指出你想要的东西 - 以及你试过的东西。 – MiMo
嘿,对不起,我有原因混乱。我想要一个适当的表,其中所需的字段不重复。我试图使用foreach循环内的foreach循环,但我想它不工作的方式Java或Perl的作品。 我在一个新的线程中添加了一个html示例,因为我无法在这里发现它 – Maxyie