Tôi đang cố kết hợp hai tệp xml và với tệp XSLT chuyển đổi chúng thành một trang XHTML. Tôi đã không làm điều này trước đây và không thể tìm ra cách để làm điều đó. Đây là những gì tôi có cho đến nay, chỉ với một tệp xml:Chuyển đổi XML bằng XSLT trong PHP
<?php
$xsl = new DOMDocument();
$xsl->load("file.xsl");
$inputdom = new DomDocument();
$inputdom->load("file.xml");
$proc = new XSLTProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "", "");
$newdom = $proc->transformToDoc($inputdom);
print $newdom-> saveXML();
xsl-tệp với không gian tên ss:. Tôi không thực sự chắc chắn làm thế nào để sử dụng tiền tố ss?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Title2</th>
</tr>
<xsl:for-each select="something/some">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="title2"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
xml-file
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="file.xsl"?>
<something>
<some>
<Firstname>Peter</Firstname>
<Lastname>Anderson</Lastname>
<some>
.....
Nếu ai đó có thể cho tôi một cú đá đi đúng hướng Tôi sẽ biết ơn.
Đây là lần thứ hai xml-file:
<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Created>2012-09-25T13:44:01Z</Created>
</DocumentProperties>
<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
<AllowPNG/>
</OfficeDocumentSettings>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>14060</WindowHeight>
<WindowWidth>25040</WindowWidth>
<WindowTopX>25540</WindowTopX>
<WindowTopY>4100</WindowTopY>
<Date1904/>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s62">
<Font ss:FontName="Courier" ss:Color="#000000"/>
</Style>
</Styles>
<Worksheet ss:Name="Workbook1.csv">
<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="79" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="15">
<Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="43"/>
<Column ss:AutoFitWidth="0" ss:Width="113"/>
<Column ss:Index="5" ss:AutoFitWidth="0" ss:Width="220"/>
<Row ss:Index="6">
<Cell ss:Index="3" ss:StyleID="s62"/>
</Row>
<Row>
<Cell ss:Index="3" ss:StyleID="s62"/>
</Row>
<Row>
<Cell ss:Index="3" ss:StyleID="s62"/>
</Row>
<Row>
<Cell ss:Index="2"><Data ss:Type="String">id</Data></Cell>
<Cell ss:StyleID="s62"><Data ss:Type="String">latitude</Data></Cell>
<Cell><Data ss:Type="String">longitude</Data></Cell>
</Row>
<Row>
<Cell ss:Index="2"><Data ss:Type="Number">8</Data></Cell>
<Cell ss:StyleID="s62"><Data ss:Type="Number">57.4999</Data></Cell>
<Cell><Data ss:Type="Number">15.8280</Data></Cell>
</Row>
.....
Vì vậy, câu hỏi của tôi là làm thế nào để kết hợp dữ liệu từ cả hai XML file với XSLT? Tôi muốn kết quả là dữ liệu trong một bảng trên trang XHTML.
Có thể bạn sẽ cần sử dụng chức năng ** document ** trong XSLT, nhưng để cung cấp đầy đủ chi tiết hơn, nó sẽ giúp ích nếu bạn hiển thị XML thứ hai và giải thích những gì bạn đang cố gắng đạt được. Cảm ơn! –
Cảm ơn câu trả lời của bạn. Đã chỉnh sửa câu hỏi của tôi, hy vọng nó sẽ giúp – ana
Tệp XML đầu tiên chứa danh sách các tên, tệp XML thứ hai là danh sách các tọa độ. Có bất kỳ kết nối nào giữa dữ liệu để liên kết sau đó hay bạn chỉ muốn dữ liệu được hiển thị riêng trong cùng một trang? Kết hợp các tệp thường không khó, nhưng tệp XML thứ hai của bạn thực sự là một tệp XML của Excel và chuyển đổi thành một bảng là một vấn đề riêng biệt hoàn toàn, ngay cả khi không có tệp thứ hai! –