reichmio
Goto Top

Wie verarbeite ich diese XML Struktur mit PHP5 ?

Komm einfach nicht weiter face-sad

Hallo zusammen,

kann mir bitte bitte jemand von euch sagen wie ich diese XML-Datei mit PHP5 verarbeiten kann ?!
Ich möchte alle informationen in eine Datenbank speichern.

mit SimpleXML oder DOM bin ich leider gescheitert face-sad
kann auf die einzelnen Elemente nicht zugreifen.

Ich nutze derzeit XAMPP in der neusten Version zum entwickeln.

Hoffe Ihr könnte mir da weiterhelfen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<ns4:result xmlns="http://services1.domain.de/schema/resource" xmlns:ns2="http://services1.domain.de/schema/ad" xmlns:ns3="http://services1.domain.de/schema/seller" xmlns:ns4="http://services1.domain.de/schema/search" max-pages="1" current-page="1" page-size="20" total="2">  
<ns3:seller url="http://services1.domain.de/1.0.0/seller/123456" key="123456">  
    <ns3:type commercial="true" value="DEALER"/>  
    <ns3:company-name value="DEALER NAME"/>  
    <ns3:address>
          <ns3:street value="Strasse 10"/>  
          <ns3:zipcode value="80000"/>  
          <ns3:city value="München"/>  
          <ns3:country-code value="DE"/>  
     </ns3:address>
     <ns3:phone number="123456" area-code="089" country-calling-code="49" type="FIXED"/>  
     <ns3:phone number="123456" area-code="089" country-calling-code="49" type="FAX"/>  
     <ns3:email value="email@domain.de"/>  
     <ns3:homepage value="http://home1.domain.de/DEALERNAME"/>  
     <ns3:USER-seller-since value="1998-10-06+02:00"/>  
</ns3:seller>

Content-ID: 166365

Url: https://administrator.de/forum/wie-verarbeite-ich-diese-xml-struktur-mit-php5-166365.html

Ausgedruckt am: 23.12.2024 um 01:12 Uhr

dog
dog 16.05.2011 um 19:34:24 Uhr
Goto Top
SimpleXML kann immer nur einen Namespace anzeigen:
<?php

	error_reporting(E_ALL|E_STRICT);
	ini_set('display_errors','On');  

	$data = <<<'XML'  
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<ns4:result xmlns="http://services1.domain.de/schema/resource" xmlns:ns2="http://services1.domain.de/schema/ad" xmlns:ns3="http://services1.domain.de/schema/seller" xmlns:ns4="http://services1.domain.de/schema/search" max-pages="1" current-page="1" page-size="20" total="2">  
<ns3:seller url="http://services1.domain.de/1.0.0/seller/123456" key="123456">  
    <ns3:type commercial="true" value="DEALER"/>  
    <ns3:company-name value="DEALER NAME"/>  
    <ns3:address>
          <ns3:street value="Strasse 10"/>  
          <ns3:zipcode value="80000"/>  
          <ns3:city value="München"/>  
          <ns3:country-code value="DE"/>  
     </ns3:address>
     <ns3:phone number="123456" area-code="089" country-calling-code="49" type="FIXED"/>  
     <ns3:phone number="123456" area-code="089" country-calling-code="49" type="FAX"/>  
     <ns3:email value="email@domain.de"/>  
     <ns3:homepage value="http://home1.domain.de/DEALERNAME"/>  
     <ns3:USER-seller-since value="1998-10-06+02:00"/>  
</ns3:seller>
</ns4:result>
XML;

	$obj = simplexml_load_string($data,'SimpleXMLElement');  

	
	$ns3 = $obj->children('http://services1.domain.de/schema/seller');  
	
	var_dump($ns3->seller->address->street->attributes());

?>
ReichMio
ReichMio 17.05.2011 um 10:35:48 Uhr
Goto Top
Hallo dog!

VIelen Dank für deine Antwort!
Das hat mir schon sehr weitergeholfen.

Jetzt hab ich nur noch ein Problem:

print_r($ns3->seller->last-name->attributes());
funktioniert nicht.

es liegt am "-" im last-name. Wie kann ich auf dieses Node zugreifen? $ns3->seller->'last-name'->attributes()); kann ich ja auch nicht schreiben face-sad
ich bin mir sicher dass es geht.. nur komm ich nicht wirklich drauf face-sad
ReichMio
ReichMio 17.05.2011 um 10:39:32 Uhr
Goto Top
bin selbst drauf gekommen face-smile
print_r($ns3->seller->{last-name}->attributes()); 

face-wink
dog
dog 17.05.2011 um 10:54:58 Uhr
Goto Top
Immer mit Anführungszeichen, sonst erzeugst du einen internen PHP-Fehler!

print_r($ns3->seller->{'last-name'}->attributes());   
ReichMio
ReichMio 17.05.2011 um 11:27:41 Uhr
Goto Top
face-wink merci für deine hilfe !