我應該創建一個實際類型的簡單表與來自我們學校網站的xml文件的數據。我有XML和一個xsl樣式表,但無論我做什麼,表格都不會顯示。我也在其他瀏覽器中解析錯誤,而不是IE。不幸的是,我對XML不是很熟悉。我嘗試了一些php5方法,主要是使用simplexml,但無法讓它們正常工作。XML表不顯示 - 沒有行和列
任何暗示,爲什麼表不顯示和建議跨瀏覽器替代將不勝感激。
下面是XML文件的一個片段:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="wftemplate1.xsl"?>
<databases filename="Classtests">
<database>
<row>
<column name="spalte1">Class</column>
<column name="spalte2">Subject</column>
<column name="spalte3">Teacher</column>
<column name="spalte4">Date</column>
</row>
</database>
<details>
<row>
<column name="spalte1">1A</column>
<column name="spalte2">D</column>
<column name="spalte3">ABC</column>
<column name="spalte4">11.11.2012</column>
</row>
<row>
<column name="spalte1"> </column>
<column name="spalte2"> </column>
<column name="spalte3">ABC</column>
<column name="spalte4">11.01.2013</column>
</row>
.
.
.
</details>
</databases>
這裏是當前的XSL樣式表:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<!-- Überschrift -->
<div style="font-family:Verdana; font-size:14pt; font-weight:bold;">
<xsl:value-of select="databases/@filename" />
</div>
<p />
<!-- Beginn der Tabelle -->
<table border="1">
<!-- Kopfzeile -->
<xsl:for-each select="databases/database/row">
<tr>
<xsl:for-each select="column">
<td bgcolor="C0C0C0">
<div style="font-family:Verdana; font-size:9pt; font-weight:bold;">
<xsl:value-of select="." />
</div>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
<!-- Datenzeilen -->
<xsl:for-each select="databases/details/row">
<tr bgcolor="#80FFFF">
<xsl:for-each select="column">
<td>
<div style="font-family:Verdana; font-size:9pt;">
<xsl:value-of select="." />
</div>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
<p />
<div style="font-family:Verdana; font-size:7pt; font-weight:bold;">
Ende der Liste </div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
獲得一致的跨瀏覽器解決方案的唯一方法是在服務器上進行轉換。試圖在客戶端上做是浪費時間 - 它太不穩定,太不靈活。如果你有PHP,請查看['XSLTProcessor'類](http://www.php.net/manual/en/class.xsltprocessor.php)。 – Tomalak
感謝您的鏈接,Tomalak。我會研究這一點。 – Joschler
@ Tim-C @Tomalak你的答案完成了這項工作!非常感謝!命名空間更改後,我上傳了一個小代碼的小php文件,它現在適用於所有瀏覽器。你搖滾:-)'<?php $ xslDoc = new DOMDocument(); $ xslDoc-> load(「wftemplate1.xsl」); $ xmlDoc = new DOMDocument(); $ xmlDoc-> load(「aklistekd.xml」); $ proc = new XSLTProcessor(); $ proc-> importStylesheet($ xslDoc); echo $ proc-> transformToXML($ xmlDoc); ?>' – Joschler