Autor Zpráva
Stewe
Profil *
Ahoj, potřebuji z souboru dat v formátu xml (export z db) vytvořit webovou stránku formátovanou v tabulce.

našel jsem pomocí googlu tento script. Prosblém je v tom že mi nechce načíst soubor employee.xml. Zkončí to errorem (viz kod).
Prosím, kde je chyba?

<body>
<?php
$xml = simplexml_load_file("employee.xml")
or die("Error: Cannot create object");

$element_name = array();                                    //get all xml element name
foreach ($xml->children()->children() as $value) {
$element_name[] = $value->getName();
}
?>
<table border = "1">
<thead>
<tr>
<?php
foreach ($element_name as $value) {             //display table head
echo "<th>{$value}</th>";
}
?>
</tr>
</thead>

<tbody>
<?php
foreach ($xml->children() as $value) {              //display table data
echo "<tr>";    
for ($i = 0; $i < count($element_name); $i++) {
echo "<td>{$value->children()->$element_name[$i]}</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
</body>


Pro představu takto vypadají data které budu načítat. Bude vadit diakritika? Bude kod použitelný?

<?xml version="1.0" encoding="UTF-8"?>

-<dataroot generated="2015-04-23T13:13:47" xmlns:od="urn:schemas-microsoft-com:officedata">


-<FINÁLY_x0020_PŘEHLED>

<NÁZEV>ROTOPACK 220 ZUS</NÁZEV>

<FORMÁT>1</FORMÁT>

<ČÍSLO_x0020_VÝKRESU>43021</ČÍSLO_x0020_VÝKRESU>

<TYP_x0020_STROJE>POTTINGER</TYP_x0020_STROJE>

<SERIE>1995-03-07T00:00:00</SERIE>

<ZAVEDENO_x0020_ZMĚNOU_x0020_Č>xx</ZAVEDENO_x0020_ZMĚNOU_x0020_Č>

<K1>1995-03-07T00:00:00</K1>

<K3>1995-03-07T00:00:00</K3>

<K28/>

<K46>1995-03-07T00:00:00</K46>

<POZNÁMKA_x0020_ARCHIV/>

<ŘÍZENÁ_x0020_DOKUMENTACE>R</ŘÍZENÁ_x0020_DOKUMENTACE>

<K28A/>

<K22/>

<K32/>

<K6/>

<K7A/>

<K7> </K7>

<KM7> </KM7>

<KS/>

<STARÁ_x0020_DATABÁZE>*</STARÁ_x0020_DATABÁZE>

<DRUH>F</DRUH>
Chro.
Profil
Dokument není platný XML dokument, ale "NějakýMůjFormátJakožeXML". Chybí například uzavírací element kořenové značky <dataroot> na konci. Přebývají znaky - mezi různými elementy, dalším elementům chybí uzavření atd. PHP pak samozřejmě vyhodí chybu.
Stewe
Profil *
Problém je že toto generuje MS access :D Nevím jestli půjde změnit masku podle které dělá export.
juriad
Profil
Stewe:
Máš-li to lokálně a nikoli na hostingu, můžeš se k databázi Access připojit pomocí ODBC a pokládat přímo SQL dotazy.
Viz hromadu návodů na webu, například www.sitepoint.com/using-an-access-database-with-php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: