Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php,xml] Dodawanie atrybutu..
Forum PHP.pl > Forum > XML, AJAX > XML
JeFF
test.xml :
Kod
<?xml version="1.0"?>
     <ids>
         <id>One</id>
         <id type="2">Two</id>
         <id type="3">Three</id>
         <id type="4">Four</id>
         <id type="5">Five</id>
         <id type="6">Six</id>
     </ids>


php:
Kod
<?php
     $xml = simplexml_load_file("test.xml");
     $xml->id[0]->addAttribute("type", "1");
     $xml->asXML("test.xml");
     ?>


wynik xml'a :
Kod
<?xml version="1.0"?>
       <ids>
           <id type="1">One</id>
           <id type="2">Two</id>
           <id type="3">Three</id>
           <id type="4">Four</id>
           <id type="5">Five</id>
           <id type="6">Six</id>
       </ids>


i nie wiem jak to przerobić żeby do takiego xml'a:
Kod
<?xml version="1.0"?>
     <ad num="126" type="0" time="6900">
         <ids>
             <id type="1"/>
             <id type="2"/>
         </ids>
     </ad>


Dodało atrybut (web) w tym miejscu :
Kod
<?xml version="1.0"?>
       <ad num="126" type="0" time="6900" web="">
           <ids>
               <id type="1"/>
               <id type="2"/>
           </ids>
       </ad>


Ciagle jak prubuje coś zrobić wyrzuca mi błąd :
Fatal error
: Call to a member function addAttribute() on a non-object in

Prosze o pomoc..
splatch
Czy próbujesz w ten sposób?
  1. <?php
  2.     $xml = simplexml_load_file("test.xml");
  3.     $xml->addAttribute("web", "");
  4.     $xml->asXML("test.xml");
  5. ?>
JeFF
Próbowałem w ten sposób :
Kod
<?php
$xml = simplexml_load_file("test.xml");
$xml->ad[0]->addAttribute("web", "");
$xml->asXML("test.xml");
?>


Dzięki, to co podałeś działa.. biggrin.gif

Mam jeszcze jedno pytanie, mianowicie jak z tego xml'a :
Kod
<?xml version="1.0"?>
       <ad num="126" type="0" time="6900" web="">
           <ids>
               <id type="1"/>
               <id type="2"/>
           </ids>
       </ad>


Za pomocą php wyświetlić
Kod
               <id type="1"/>
               <id type="2"/>

W postaci :
Kod
  1
  2
splatch
Zgaduję że to może być:
  1. <?php
  2.    $xml = simplexml_load_file("test.xml");
  3.  
  4.    foreach ($xml->ids->id as $id) { echo $id->type; }
  5.    
  6. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.