Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z nazwami elementów w xml
Forum PHP.pl > Forum > XML, AJAX > XML
Bombasarkadian
Witam,
Ostatnio zacząłem po woli zgłębiać tematykę xml.
I przytrafił mi się problem którego w żaden sposób nie mogę rozwiązać i wygoolgać rozwiązania :/
Mam plik xml w takiej postaci:
  1. <dane>
  2. <pole1>wartość</pole1>
  3. <pole-inne>jakiś tekst</pole-inne>
  4. </dane>

I mam skrypt w php, który ma pobrać zawartość każdego w tych elementów i zwrócić przez echo:
  1. <?php
  2. $f=file_get_contents("file.xml");
  3. $dom = new DOMDocument();
  4. $dom->loadXML($f);
  5. $sim = simplexml_import_dom($dom);
  6. $d1 = $sim->pole1;
  7. $d2 = $sim->pole-inne;
  8. echo "<pre>";
  9. print_r($d1);
  10. echo "------\n";
  11. print_r($d2);
  12. echo "</pre>";
  13. ?>


Tylko output z tego skryptu to:
  1. SimpleXMLElement Object
  2. (
  3. [0] => wartość
  4. )
  5. ------
  6. 0


Czyli pierwszą wartość pobiera poprawnie a drugą jako 0. No ogólnie mam tak przy wszystkich nazwach z myślnikiem.
I teraz pytanie, jak operować na takich nazwach?

Skrypt uruchamiany na home.pl
skowron-line
Kod
<?php
$f=file_get_contents("file.xml");
$dom = new DOMDocument();
$dom->loadXML($f);
$sim = simplexml_import_dom($dom);
$d1 = $sim->pole1;
$dash_name= 'pole-inne';
$d2 = $sim->$dash_name;
echo "<pre>";
print_r($d1);
echo "------\n";
print_r($d2);
echo "</pre>";
?>

Zobacz tak. Ale z tego co się gdzieś kiedyś wyczytałem to chyba xml nie powinien zawierać myślników w nazwach.

I rozwiązanie z guugla
Kod
$sim->{'pole-inne'};
Bombasarkadian
O to chodziło biggrin.gif Dzięki
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.