Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

SimpleXML und tag mit punkt!!!

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
smilla
PostRank 5
PostRank 5
Beiträge: 268
Registriert: 28.07.2008, 19:14

Beitrag von smilla » 27.09.2009, 16:23

Huhu,

mit simplexml komme ich in der regel gut zurecht, hab hier nun allerdings ein problem, wo ich nicht weiterkomme. hier ein beispiel xml:

Code: Alles auswählen

<?xml version="1.0"?>
<start>
	<files.index Generated="20090927033737">
		<file Product_ID="2622046" Prod_ID="15939529" Catid="575" Model_Name="FinePix Z30 Digital Camera">
		</file>
		<file Product_ID="2622048"  Prod_ID="15939256" Catid="575" Model_Name="FinePix Z30 Digital Camera">
		</file>
	</files.index>
</start>

Nun will ich das Parsen und habe bisher dies hier:

Code: Alles auswählen

$xml = new SimpleXMLElement&#40;$content&#41;;
foreach &#40;$xml->files.index->file as $file&#41; 
&#123;
   echo $file&#91;'Product_ID'&#93; . "<br>";
&#125;
Dieses "files.index" macht mir sorgen. Das funktioniert so nicht. Wie kann ich dies dennoch mit simplexml parsen. Gibt es da eine Möglichkeit?

Temporär läuft es erstmal mit einem str_replace als Hilfe

Smilla

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Lord Lommel
PostRank 10
PostRank 10
Beiträge: 3227
Registriert: 18.02.2008, 02:43
Wohnort: Halle / Saale

Beitrag von Lord Lommel » 28.09.2009, 12:23

SimpleXML hat seine Grenzen und ich vermute, du hast grade eine erreicht. Wenn Googlen nichts bringt, dann mußt du wohl auf was anderes umsteigen.

Michael
PostRank 8
PostRank 8
Beiträge: 808
Registriert: 04.01.2004, 20:23
Wohnort: Herne

Beitrag von Michael » 28.09.2009, 14:31

Mit SimpleXML hat das nichts zu tun. Habe mal vor einiger Zeit ein ähnliches Problem gehabt und folgede Lösung gefunden. Ist nicht schön, aber sehr praktisch.

$xml = new SimpleXMLElement($content);
$array = object2array($xml);
foreach ($array['files.index']['file'] as $file)
{
echo $file["@attributes"]['Product_ID']. "<br>";

}

function object2array($object)
{
$return = NULL;
if(is_array($object))
{
foreach($object as $key => $value)
$return[$key] = object2array($value);
} else {
$var = get_object_vars($object);
if($var)
{
foreach($var as $key => $value)
$return[$key] = object2array($value);
} else {
return strval($object);
}
}
return $return;
}

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Graccem
PostRank 4
PostRank 4
Beiträge: 115
Registriert: 16.12.2004, 12:57
Wohnort: Berlin

Beitrag von Graccem » 28.09.2009, 14:43

Code: Alles auswählen

$xml = new SimpleXMLElement&#40;$content&#41;;
foreach &#40;$xml->&#123;'files.index'&#125;->file as $file&#41;
&#123;
   echo $file&#91;'Product_ID'&#93; . "<br>";
&#125;
Mehr braucht man nicht.

Lord Lommel
PostRank 10
PostRank 10
Beiträge: 3227
Registriert: 18.02.2008, 02:43
Wohnort: Halle / Saale

Beitrag von Lord Lommel » 28.09.2009, 14:55

8)

smilla
PostRank 5
PostRank 5
Beiträge: 268
Registriert: 28.07.2008, 19:14

Beitrag von smilla » 01.10.2009, 13:29

Man lernt immer wieder dazu. Meine Notlösung war auch nicht ohne :)

Aber die neue mit {'files.index'} ist viel besser, spart auch das str_replace (Große Datei = viel Zeit) und funkioniert. Vielen Dank!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag