Superheld: XML mit PHP ausgeben

Beitrag lesen

Hellihello

aber warum bekomme ich dann hier kein ergebnis?

$xml = simplexml_load_file("http://blabla.de/test.xml");

$query_string="//CarInfo[@Code=28]";
$node_list = $xml->xpath($query_string);
echo $node_list[0]["Quantity"];

werde wahnsinnig... ;-)

Weil Du nicht Schritt für Schritt vorgehst vielleicht?

Teste:

  1. mit asXML, ob Du die Daten korrekt lädst
  2. mit var_dump, was deine Nodelist enthält
  3. mit var_dump, was zB. $node_list[0] enthält.

Nur wenn Du mindestens das getestet hast, kanns Du als _letzem_ Schritt, auf das Attribut ["Quantity"] zugreifen.

Solang Du nur von blabla.de sprichst (nimm doch lieber example.com), ist es auch von "remote" nicht möglich, Fehler zu finden. Dazu braucht es zugriff auf die Daten (XML) bzw. Kenntnis davon (posten hier) und auf den relevanten Code (alle Bestandteile, die genutzt werden).

Dank und Gruß,

frankx

Nochmal Hallo,

das gesamte XML-File ist arg gross-daher hier die relevanten ´Daten:

<?xml version="1.0" encoding="UTF-8" ?>

  • <CARDescriptiveContentNotifRQ>
  • <CARDescriptiveContents>
  • <CARDescriptiveContent>
  • <CARInfo WhenBuilt="1999" CARStatusCode="1">
      <CARName CARShortName="Golf" />
  • <CategoryCodes>
      <LocationCategory Code="4" />
      <SegmentCategory Code="4" />
      <CARCategory Code="20" />
      <CARTECInfo Code="5" Quantity="6" />
  • <CARTECInfo Code="35" Quantity="2">
  • <Description>
      <Text Language="en">aa</Text>
      <Text Language="fr">bb</Text>
      <Text Language="de">cc</Text>
      <Text Language="it">dd</Text>
      <Text Language="es">ee</Text>
      <Text Language="pt">ff</Text>
      </Description>
      </CARTECInfo>
  • <CARTECInfo Code="1" Quantity="2">
  • <Description>
      <Text Language="en">gg</Text>
      <Text Language="fr">hh</Text>
      <Text Language="de">jj</Text>
      <Text Language="it">kk</Text>
      <Text Language="es">mm</Text>
      <Text Language="pt">nn</Text>
      </Description>
      </CARTECInfo>
  • <CARTECInfo Code="2" Quantity="44">
  • <Description>
      <Text Language="en">oo</Text>
      <Text Language="fr">pp</Text>
      <Text Language="de">qq</Text>
      <Text Language="it">rr</Text>
      <Text Language="es">tt</Text>
      <Text Language="pt">uu</Text>
      </Description>
      </CARTECInfo>
  • <CARTECInfo Code="3" Quantity="22">
  • <Description>
      <Text Language="en">vv</Text>
      <Text Language="fr">ww</Text>
      <Text Language="de">xx</Text>
      <Text Language="it">yy</Text>
      <Text Language="es">zz</Text>
      <Text Language="pt">zzz</Text>
      </Description>
      </CARTECInfo>
  • <CARTECInfo Code="28" Quantity="92">
  • <Description>
      <Text Language="en">Total</Text>
      </Description>
      </CARTECInfo>
      </CategoryCodes>

Habe nochmal getestet:

$xml_string = file_get_contents("http://example.com/test.xml");
$simple_xml = simplexml_load_string($xml_string);

$query_string="//CARTECInfo[@Code=28]";
$node_list = $simple_xml->xpath($query_string);

var_dump($node_list); //Ausgabe "array(0) { }"

echo $simple_xml->asXML(); das o.a. XML

echo $node_list[0]["Quantity"]; keine Ausgabe

0 57

XML mit PHP ausgeben

Superheld
  • xml
  1. 0
    ChrisB
  2. 0
    frankx
    1. 0
      Superheld
      1. 0
        frankx
        1. 0
          Superheld
          1. 0
            frankx
            1. 0
              Superheld
          2. 0
            frankx
            1. 0
              Superheld
              1. 0
                frankx
                1. 0
                  ChrisB
                  1. 0
                    frankx
                    1. 0
                      Superheld
                      1. 0
                        frankx
                        1. 0
                          Superheld
                          1. 0
                            frankx
                            1. 0
                              Superheld
                              1. 0
                                frankx
                            2. 0
                              Superheld
                              1. 0
                                frankx
                                1. 0
                                  Superheld
                                  1. 0
                                    frankx
                                    1. 0
                                      Superheld
                                      1. 0
                                        frankx
                                        1. 0
                                          Superheld
                                          1. 0
                                            frankx
                                            1. 0
                                              Superheld
                                              1. 0
                                                frankx
                                                1. 0
                                                  Superheld
                                                  1. 0
                                                    frankx
                                                    1. 0
                                                      Superheld
                                                      1. 0

                                                        XML xmlns Namensraum und xpath - query

                                                        frankx
                                                        1. 0
                                                          Superheld
                                                          1. 0
                                                            frankx
                                                            1. 0
                                                              Superheld
                                                            2. 0

                                                              XML attribute verknüpfen

                                                              Danny
                                                              1. 0

                                                                XML attribute verknüpfen oder Kindelement selektieren

                                                                frankx
                                                                1. 0
                                                                  Danny
                                                                  1. 0
                                                                    Superheld
                                                                    1. 0
                                                                      frankx
                                                                      1. 0
                                                                        Superheld
                                                                        1. 0

                                                                          XML Kodierung und Umlaute ersetzen

                                                                          frankx
                                                                          1. 0
                                                                            Superheld
                                                                            1. 0
                                                                              frankx
                                                                              1. 0
                                                                                Superheld
                                                                                1. 0
                                                                                  frankx
                                                                                  1. 0
                                                                                    Superheld
                                                                                    1. 0
                                                                                      frankx
                                                                                      1. 0
                                                                                        Superheld
                                                                                        1. 0

                                                                                          Nodelist und foreach / Iteration

                                                                                          frankx
                                                                                          1. 0
                                                                                            Superheld
                                                                                            1. 0
                                                                                              frankx
                                                                                              1. 0
                                                                                                Superheld
                                                                                                1. 0
                                                                                                  Superheld
                                                                          2. 0
                                                                            Danny
                                                                            1. 0
                                                                              frankx