Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
xml file per php einlesen und bestimmten wert aus element suchen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
xml file per php einlesen und bestimmten wert aus element suchen


 
churcher
09-08-2009, 19:40 
 
Hi!

Ich hab folgende Struktur bei .xml File (wird so vorgegeben) und kann nicht durch mich geändert werden



<?xml version="1.0" encoding="utf-8" ?>
- <export>
<name>Neu Textdokument.txt</name>
- <indexe>
<item name="">IV Aushang</item>
<item name="wwww">2344</item>
...
...
...
</indexe>
</export>



diese Datei verarbeite ich mit domxml befehlen (PHP 4.0 ist leider nur vorhanden am Webserver)

Hier der PHP Code.



<?
$dokument = domxml_open_file("test.xml");
$meine_elemente = $dokument->get_elements_by_tagname("item");
foreach ($meine_elemente as $knoten)
{
print $knoten->get_content()." <br>";
}
?>



Ich möchte mit dem erreichen das nur <item name="Versions-ID"> den Wert ausgebe und nicht alle. Hat wer hier eine Lösung für mich. Wenn ich dies bei

get_elements_by_tagname('item name="Versions-ID"'); bleibt die Ausgabe leider leer


Danke für eure Hilfe

lg

 
wahsaga
09-08-2009, 19:49 
 
Wenn ich dies bei

get_elements_by_tagname('item name="Versions-ID"'); bleibt die Ausgabe leider leer
Natürlich - schliesslich ist der Elementname nicht item name="Versions-ID", sondern nur item.

Entweder durchläufst du die items in einer Schleife, und prüfst dabei, welches davon im name-Attribut das gesuchte drinstehen hat; oder du beschäftigst dich mit XPATH (wobei ich gerade nicht weiss, in wie fern die PHP 4-Implementierung das unterstützt.)

 
churcher
09-08-2009, 19:54 
 
Hallo wahsaga!

Danke erstmals für Deine rasche Antwort.

Wie meinst du das genau mit der Schleife? Bin nicht der PHP profi, bzw. wi ekönnte ich das problem am leichtesten lösen ;-(

Danke nochmals

lg

 
wahsaga
09-08-2009, 20:00 
 
Wie meinst du das genau mit der Schleife?
Was grundsätzlich eine Schleife ist, weisst du aber schon?

Damit durchläufst du die Elemente, die get_elements_by_tagname('item') dir liefert, und überprüfst dabei den Inhalt ihres name-Attributes.

 
churcher
09-08-2009, 20:04 
 
Ah klar, weiß jetzt was du meinst, werde das mal testen und berichten. :danke:

 
churcher
09-08-2009, 20:42 
 
Schaff es leider einfach nicht, könntest du mir nur z.b. den code schnippsel geben das ich z.b. <item name="wwww">2344</item>

wwww auslesen kann, dann komm ich für alles andere zurecht. wäre echt lieb von dir.

lg

 
ezkimo
10-08-2009, 16:40 
 
Schaff es leider einfach nicht, könntest du mir nur z.b. den code schnippsel geben das ich z.b. <item name="wwww">2344</item>

wwww auslesen kann, dann komm ich für alles andere zurecht. wäre echt lieb von dir.

lg

Wie sieht denn das aus, was Du bisher probiert hast?

 
churcher
27-09-2009, 09:56 
 
hi, hab das problem leider bis dato nicht hinbekommen, könnte mir bitte wer einen beispiel code hier rein stellen, mit dem ich was anfangen kann.
Würde es bis morgen unbedingt benötigen

Danke

lg

 
Kropff
27-09-2009, 17:16 
 
Wenn du fertigen Code willst, ist das hier das falsche Forum. Daher * verschieb *

Peter

 
AmicaNoctis
27-09-2009, 17:21 
 
<?
$dokument = domxml_open_file("test.xml");
foreach ($dokument->get_elements_by_tagname("item") as $knoten) {
if ($knoten->get_attribute("name") == "Versions-ID") {
echo($knoten->get_content());
}
}
?>

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:57 Uhr.