| | | | |
| | |
| Benutzer Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse: Anfänger ![]() | Hallo, ich würde gerne den Inhalt meiner data.xml sortiert ausgeben. Die Datei sieht so aus: Code: <?xml version="1.0" encoding="ISO-8859-1" ?> <ROOT> <NAV> <LINK>seite01.php</LINK> <NAME>Seite 1</NAME> <ID>1</ID> </NAV> <NAV> <LINK>seite02.php</LINK> <NAME>Seite 2</NAME> <ID>3</ID> </NAV> <NAV> <LINK>seite03.php</LINK> <NAME>Seite 3</NAME> <ID>2</ID> </NAV> </ROOT> Auslesen ist kein Problem (Beispiel) |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Wenn du die aus dem XML eingelesenen Daten erst in einem Array speicherst, kannst du sie darin vor der Ausgabe mit Funktionen wie usort sortieren. |
| |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Aber dazu wurde DOM erfunden. ![]()
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| |
| | |
| Erfahrener Benutzer Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Meinst du XSL oder geht's noch anders? |
| |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Wenn ich DOM sage und nicht gerade von schwarze-roten Regierungen gefoltert werde, dann meine ich auch DOM.
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| |
| | |
| Erfahrener Benutzer Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Okay, und wie? Edit: *seufz* Vergiss das Beispiel. (Hatte es nicht geschafft, usort() auf irgendwas vom Typ DOMNode anzuwenden und dachte dann, ich müsste anfangen, 'nen eigenen Algorithmus zu implementieren. Dazu habe ich dann die zu sortierenden Nodes in ein Array gepackt...) Code: $xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<a id="0"></a>
<a id="7"></a>
<a id="5"></a>
<a id="1"></a>
<a id="6"></a>
<a id="4"></a>
<a id="2"></a>
<a id="9"></a>
</root>';
$parser = new DOMDocument();
$parser->loadXML($xml);
$root = $parser->childNodes->item(0);
$nodes = array();
for ($i = 0; $i < $root->childNodes->length; $i++)
{
$child = $root->childNodes->item($i);
if ($child->nodeName == 'a')
{
$nodes[] = $child;
}
}
for ($i = count($nodes) - 1; $i >= 1; $i--)
{
for ($j = 1; $j < $i; $j++)
{
if ($nodes[$j]->attributes->getNamedItem('id')->nodeValue >
$nodes[$j + 1]->attributes->getNamedItem('id')->nodeValue)
{
$temp = $nodes[$j];
$nodes[$j] = $nodes[$j + 1];
$nodes[$j + 1] = $temp;
}
}
}
foreach ($nodes as $node)
{
echo $node->attributes->getNamedItem('id')->nodeValue;
}
Geändert von mermshaus (21.06.2009 um 23:23 Uhr). |
| |
| | |
| Erfahrener Benutzer Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse: Fortgeschritten ![]() | Tach, am saubersten macht man sowas mit einem XSLT Prozessor, der genau dafür erfunden wurde, um XML zu bearbeiten. Du benötigst dafür noch nicht einmal einen PHP Server, sondern nur einen aktuellen Browser, der schon einen XSLT Prozessor mit bringt. Hier mal ein Beispiel: Code: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE gruss SYSTEM "gruss.dtd"> <?xml-stylesheet type="text/xsl" href="sortSheet.xsl" ?> <data> <value>2</value> <value>4</value> <value>1</value> <value>3</value> <value>5</value> </data> Code: <?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="/"> <data> <xsl:for-each select="data/value"> <xsl:sort select="."/> <value><xsl:value-of select="."/></value> </xsl:for-each> </data> </xsl:template> </xsl:stylesheet> http://www.w3.org/TR/xslt#sorting
__________________ Kreativität und Schöpfung durch Chaos und Ordnung. |
| |
| | ||
| Erfahrener Benutzer Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
PHP-Code: | |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Text zufällig und sortiert in Tabelle ausgeben | trettin | Scriptbörse | 5 | 07.06.2009 18:57 |
| [Erledigt] Inhalt mehrdimesionales array nach Sortierung ausgeben | supervision | PHP Tipps 2009 | 7 | 26.05.2009 21:08 |
| Datumsformat "Monat Jahr" eingeben und sortiert ausgeben. | dahead | PHP Tipps 2009 | 15 | 01.04.2009 10:34 |
| Hilfe, Seite im Internet Explorer Buggy | trowman | HTML, Usability und Barrierefreiheit | 4 | 15.09.2008 08:32 |
| Bild verschafft sich platz | HTML, Usability und Barrierefreiheit | 14 | 11.08.2008 23:45 | |
| (MySQL) Ergebnisse Zählen und sortiert ausgeben... | Hawk | Datenbanken | 5 | 04.03.2007 17:08 |
| Einträge nach Anzahl sortiert ausgeben | Riot | Datenbanken | 6 | 19.09.2005 19:13 |
| gleicher inhalt, aber nur 1x ausgeben | möchtegernchegga | PHP Tipps 2005-2 | 7 | 30.07.2005 20:31 |
| Sortiert nach Differenz 2er Datensätze ausgeben | Datenbanken | 2 | 24.07.2005 12:36 | |
| Mysql: Daten nach Anfangsbuchstaben Sortiert Ausgeben | PHP Tipps 2005-2 | 5 | 09.07.2005 15:56 | |
| [Erledigt] Datenbank sortiert ausgeben! | Datenbanken | 4 | 23.03.2005 12:49 | |
| Verzeichnis -> read() sortiert ausgeben | Unbekanntes_Pferd | PHP Tipps 2005 | 9 | 30.01.2005 20:39 |
| Inhalt einer TXT-Datei in PHP ausgeben | maximus | PHP Tipps 2004-2 | 10 | 08.12.2004 23:34 |
| Datenbankeinträge sortiert ausgeben lassen | PHP Tipps 2004 | 3 | 22.10.2004 22:10 | |
| [Erledigt] Wie kann man bei echo inhalt in anführungszeichen ausgeben | PHP Tipps 2004 | 5 | 30.06.2004 03:14 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php xml sortieren ausgeben, http://www.php.de/php-einsteiger/56301-xml-inhalt-sortiert-ausgeben.html, php xml sortieren, xml sortieren, xml inhalt sortieren, xml php sortieren, xml auslesen und mit php sortieren, read() sortieren, php sort xml, php xml nodes sortieren, xpath reihenfolge, xml inhalt ausgeben php, xml inhalt ausgeben, textinhalte auslesen und in php tabelle sortieren, xsl sortierte liste mit link zu anfangsbuchstaben, php dom nodes als array ausgeben, xml per php reihenfolge ändern, reihenfolge änder domdocument php, php xml inhalt eines nodes aus dem array ausgeben, inhalte mit xml tabelle sortieren |