Προς το περιεχόμενο

Πρόβλημα με XML


mixalis8

Προτεινόμενες αναρτήσεις

Δημοσ.

ας πάρουμε για παράδειγμα αυτό το xml

 

><?xml version="1.0" encoding="UTF-8"?>
<message>
<infos>
<a>1</msgid>
<b>mixalis</crdate>
<c>306977002255</msisdn>
</infos>
<infos>
<a>2</msgid>
<b>giorgos</crdate>
<c>306977002255</msisdn>
</infos>
</message>

 

και ο parser

 

><?php
$xml = simplexml_load_file("file.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
 {
 echo $child->getName() . ": " . $child . "<br />";
 }
?> 

 

με αυτόν τον κώδικα δεν μπορεί να διαβάσει το xml... αν όμως από το xml σβήσω την ετικέτα <message>...</message> και αφήσω σκέτα τα <infos>...</infos> τότε λειτουργεί σωστά...

 

τι πρέπει να κάνω για να το διαβάσει χωρίς να σβήσω το <message>...</message>?????????

Δημοσ.

Χωρίς να ξέρω πολλά από xml, μήπως η λέξη message είναι reserved? Αν μετονομάσεις τα nodes σε message1 δουλεύει?

Ποιο node έχεις δηλώσει ως children? Μήπως πρέπει κάπως στον parser να πεις ότι children είναι τα <message>;

Δημοσ.

To xml είναι non-well formed και invalid.

 

To παρακάτω είναι well formed και δουλεύει:

 

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

<message>

<infos>

<msgid>1</msgid>

<crdate>mixalis</crdate>

<msisdn>306977002255</msisdn>

</infos>

<infos>

<msgid>2</msgid>

<crdate>giorgos</crdate>

<msisdn>306977002255</msisdn>

</infos>

</message>

 

><?php
$xml = simplexml_load_file("file.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
 {
 echo $child->getName() . ": " . $child->msgid . ":".$child->crdate.":".$child->msisdn."<br />";
 }
?> 

 

 

 

ας πάρουμε για παράδειγμα αυτό το xml

 

><?xml version="1.0" encoding="UTF-8"?>
<message>
<infos>
<a>1</msgid>
<b>mixalis</crdate>
<c>306977002255</msisdn>
</infos>
<infos>
<a>2</msgid>
<b>giorgos</crdate>
<c>306977002255</msisdn>
</infos>
</message>

 

και ο parser

 

><?php
$xml = simplexml_load_file("file.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
 {
 echo $child->getName() . ": " . $child . "<br />";
 }
?> 

 

με αυτόν τον κώδικα δεν μπορεί να διαβάσει το xml... αν όμως από το xml σβήσω την ετικέτα <message>...</message> και αφήσω σκέτα τα <infos>...</infos> τότε λειτουργεί σωστά...

 

τι πρέπει να κάνω για να το διαβάσει χωρίς να σβήσω το <message>...</message>?????????

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...