Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

PHP og XML-filer

Side 1 ud af 1 (5 indlæg)
  • 1
Fra København K
Tilmeldt 22. Aug 06
Indlæg ialt: 3348
Skrevet kl. 14:34
Hvor mange stjerner giver du? :

Hejsa.

Jeg er desværre endnu ikke kommet ind i det 21. år hundrede hvad programmering angår - i det tidligere århundrede arbejdede jeg glædeligt med csv-filer, men sådan nogle kan jeg desværre ikke få i forbindelse med det jeg skal lave nu (noget med dandomain export - og nogle ting (ordrelinier) der kun kan udlæses til xml).

Jeg er interesseret i at finde alle <ordrer> i xml-filen og dernæst alle <ordrelinier> i <ordrer> - disse ordrelinier indeholder tags jeg gerne vil have data fra.

 

Er der nogen der kan give mig et hint til hvordan jeg kan gøre?

Jeg er startet med at lave mig et dom-objekt og loadet xml-filen - det gik meget fint. Dernæst har jeg kaldt getElementsByTagName("ordrer") - det gik vidst også meget fint. Jeg vil gerne kalde getElementsByTagName på den dom den sidst kaldte funktion returnerer - men det er en nodelist den returnerer - hvad gør jeg?

 

Jeg håber der er nogen der kan hjælpe - hvis ovenstående er noget vrøvl (bær over med mig, jeg er ikke nogen dygtig programmør) håber jeg der er nogen der kan starte fra scratch.

 

Venlig hilsen

Jørgen Olsen

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 14:38
Hvor mange stjerner giver du? :

Folkeafstemning om Patentdomstolen

Fra København K
Tilmeldt 22. Aug 06
Indlæg ialt: 3348
Skrevet kl. 14:58
Hvor mange stjerner giver du? :

Jeg har prøvet og prøvet, men kan ikke få deres eksempel til at virke på mine data - jeg ved ikke hvad jeg overser.

Her er mine data i anonym form.

<?xml version="1.0" encoding="iso-8859-1"?>
<ORDER_EXPORT type="ORDERS">
  <ELEMENTS>
    <ORDER>
      <GENERAL>
        <ORDER_ID>9</ORDER_ID>
        <CURRENCY_CODE>DKK</CURRENCY_CODE>
        <ORDER_TOTAL_PRICE>100,00</ORDER_TOTAL_PRICE>
        <ORDER_VAT>25</ORDER_VAT>
        <REFERRER>Shop5Admin</REFERRER>
      </GENERAL>
      <ADVANCED>
        <TRACK_NUM></TRACK_NUM>
        <IP_ADDRESS></IP_ADDRESS>
      </ADVANCED>
      <PAY_METHOD>
        <PAY_METHOD_ID>56</PAY_METHOD_ID>
        <PAY_METHOD_NAME>Regning (kun virksomheder)</PAY_METHOD_NAME>
        <PAY_METHOD_FEE>0,00</PAY_METHOD_FEE>
      </PAY_METHOD>
      <SHIPPING_METHOD>
        <SHIP_METHOD_ID>48</SHIP_METHOD_ID>
        <SHIP_METHOD_NAME>Postdanmark</SHIP_METHOD_NAME>
        <SHIP_METHOD_FEE>31,00</SHIP_METHOD_FEE>
      </SHIPPING_METHOD>
      <CUSTOM_FIELDS>
        <FIELD_2></FIELD_2>
      </CUSTOM_FIELDS>
      <ORDERLINES>
        <ORDERLINE>
          <PROD_NUM>303</PROD_NUM>
          <PROD_NAME>2,5" IDE HDD boks</PROD_NAME>
          <VARIANT />
          <AMOUNT>1</AMOUNT>
          <UNIT_PRICE>55,20</UNIT_PRICE>
          <LINE_TOTAL_PRICE>55,20</LINE_TOTAL_PRICE>
          <LINE_VAT>25</LINE_VAT>
        </ORDERLINE>
      </ORDERLINES>
    </ORDER>

Jeg er interesseret i at få fat i ordrelinier - er denne fremgangsmåde forkert?

$xml = new SimpleXMLElement(file_get_contents("data.xml"));
echo $xml->ORDER->{'GENERAL'}->{'ORDERLINES'}->ORDERLINE;

Fra København
Tilmeldt 7. Jun 09
Indlæg ialt: 1662
Skrevet kl. 15:27
Hvor mange stjerner giver du? :

Værsgo :-)

<?php
$xml = simplexml_load_file('/home/jesper/jorgen.xml');
  foreach ($xml->ELEMENTS as $a_order)
  {
  foreach ($a_order->ORDER->ORDERLINES as $a_line)
    {
      echo $a_line->ORDERLINE->PROD_NAME . "\n";
    }
  }
?>

 

// Jesper

Folkeafstemning om Patentdomstolen

Fra København K
Tilmeldt 22. Aug 06
Indlæg ialt: 3348
Skrevet kl. 12:54
Hvor mange stjerner giver du? :

Tak er et fattigt ord !

Side 1 ud af 1 (5 indlæg)