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-Key: 166365

Url: https://administrator.de/contentid/166365

Printed on: April 25, 2024 at 14:04 o'clock

Member: dog
dog May 16, 2011 at 17:34:24 (UTC)
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());

?>
Member: ReichMio
ReichMio May 17, 2011 at 08:35:48 (UTC)
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
Member: ReichMio
ReichMio May 17, 2011 at 08:39:32 (UTC)
Goto Top
bin selbst drauf gekommen face-smile
print_r($ns3->seller->{last-name}->attributes()); 

face-wink
Member: dog
dog May 17, 2011 at 08:54:58 (UTC)
Goto Top
Immer mit Anführungszeichen, sonst erzeugst du einen internen PHP-Fehler!

print_r($ns3->seller->{'last-name'}->attributes());   
Member: ReichMio
ReichMio May 17, 2011 at 09:27:41 (UTC)
Goto Top
face-wink merci für deine hilfe !