Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z nazwami elementów w xml
Bombasarkadian
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


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'};


Ten post edytował skowron-line 4.04.2010, 15:22:08


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Bombasarkadian
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 26.09.2009

Ostrzeżenie: (0%)
-----


O to chodziło biggrin.gif Dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:04