PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Xml Datei mit php auslesen (http://www.selfphp.de/forum/showthread.php?t=20849)

hanselmeier 04.02.2009 17:58:07

Xml Datei mit php auslesen
 
Wie kann ich aus untenstehender xml Datei (ist nicht komplette Datei) den name mit php auslesen ?
<?xml version="1.0" encoding="utf-8" ?>
- <zan>
<product id="3953252985" number="P20737_2">
<affiliateprogram id="2515" />
- <info>
<name>agnes b.: Hydrastretch Compact Recharge - Beige-Pur</name>

Hab die Datei in in php eingelesen wie folgt:
<?php

if (file_exists('ProductData.xml')) {
$xml = file_get_contents('ProductData.xml');

echo $xml->; <-------------------- Hier fehlt was ??????

} else {
exit('Konnte Datei nicht laden.');
}
?>


Das Einlesen funktioniert hab aber leider ein Problem beim ausgeben über echo
denk ich mal

DokuLeseHemmung 04.02.2009 18:09:53

AW: Xml Datei mit php auslesen
 
Wie wäre es mit SimpleXML und XPath ..... ?

urvater 04.02.2009 18:13:34

AW: Xml Datei mit php auslesen
 
Hier müßt du dich mit XML-Manipulation beschäftigen.
So wie du es versuchst wird es eine Qual, da du den erhaltenen String nach den vorkommen bestimmter Zeichen etc, durchsuchen mußt um dein Ergebnis zu finden.

http://de.php.net/manual/de/refs.xml.php

Teilweise werden bestimmte Installationen verlangt, bevor man die Funktionen nutzen kann.

hanselmeier 04.02.2009 18:14:59

AW: Xml Datei mit php auslesen
 
hab das auch probiert aber mit dem gleichen Problem das ich keine Ausgabe bekomme
mir ist leider nicht klar wie das echo dann aussehen muß um den inhalt von name auszugeben

xabbuh 04.02.2009 18:50:11

AW: Xml Datei mit php auslesen
 
Und wie genau hast du das probiert?

hanselmeier 04.02.2009 18:55:29

AW: Xml Datei mit php auslesen
 
Zitat:

Zitat von xabbuh (Beitrag 124231)
Und wie genau hast du das probiert?

statt file_get_content das simplexml eingestetzt aber mit selben Ergebnis
keine Ausgabe

urvater 04.02.2009 19:32:32

AW: Xml Datei mit php auslesen
 
Schönes Beispiel zu deinem Problem gelesen:
PHP-Code:

<?php
$string 
= <<<XML
<?xml version='1.0'?>
<document>
 <title>Zweiundvierz...?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  Ich kenne die Antwort -- aber was ist die Frage?
 </body>
</document>
XML;

$xml simplexml_load_string($string);

//var_dump($xml);
echo $xml->body;
?>


hanselmeier 04.02.2009 20:01:49

AW: Xml Datei mit php auslesen
 
Mein Problem liegt sicher hierin
xml Datei
<parent>
<child1>
<child2>childNode</child2>
</child1>
</parent>

php Datei
<?php
//[...]
echo $xml->parent->child1->child2;
?>

Leider weiß ich trotzdem nicht wie ich in meinem Fall das child name ansprechen muß.
zumal mich diese beiden hier irritieren :
<product id="3953252985" number="P20737_2">
<affiliateprogram id="2515" />

urvater 04.02.2009 20:18:54

AW: Xml Datei mit php auslesen
 
Hab mal mein Veispiel von oben entsprechend erweitert:
PHP-Code:

<?php
$string 
= <<<XML
<?xml version='1.0'?>
<document>
 <title>Zweiundvierz...?</title>
 <from>Joe</from>
 <to>Jane</to>
 <parent>
<child1>
<child2>childNode</child2>
</child1>
</parent>
 <body>
  Ich kenne die Antwort -- aber was ist die Frage?
 </body>
</document>
XML;

$xml simplexml_load_string($string);

//var_dump($xml);
echo $xml->parent->child1->child2;
?>

Wenn du die ID und Number aus Product nicht benötigst kannst du sie ignorieren.

urvater 04.02.2009 20:22:23

AW: Xml Datei mit php auslesen
 
Solltest du doch die Attribute benötigen, dann hilft dir dies weiter
PHP-Code:

<?php
$string 
= <<<XML
<a xmlns:b>
 <foo name="one" game="lonely">1</foo>
</a>
XML;

$xml simplexml_load_string($string);
foreach(
$xml->foo[0]->attributes() as $a => $b) {
    echo 
$a,'="',$b,"\"\n";
}
?>

Ich denke ich hab genug Anhaltspunkte geliefert um weiter zu kommen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:46:33 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.