XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<lessons>
<lesson level="1" course="2">
<name type="Dog" category="Animals">Dog name</name>
</lesson>
</lessons>
I want to get the values saved like this:
$type = "Dog";
$category = "Animals";
$name = "dog name";
This is what I’ve done:
foreach($xml->name as $name){
$type = $name['type'];
$category = $name['category'];
echo "Type: $type Category: $category<br>";
// AND TO get the text, haven't figuered it out yet.. <name ..="" ..="">text</name>
}
But it doesn’t work. Don’t get any errors neither any output. Any ideas?
EDIT:
OK. I changed foreach($xml->name as $name)
to foreach($xml->lesson->name as $name)
so I get the values of the attribute. But now I don’t know how to get the value of the children.
I’ve tried this: $xml->lesson->children()
It prints children()
SOLVED: $text = $xml->lesson->children();
echo $text;
PROBLEM WAS: I’m using utf-8 in my other code but didn’t change it.
Edit : this part related to a question typo.
If you copied your xml directly from where you were editting it, then part of the problem might be that it is malformed. You have an opening<lessons>but you appear to wrongly try to close it with</lesson>.Also, depending on your root node settings,
->namemay or may not be a child of the $xml object. Can you post avar_dump()of it and get some clues?