Ya más o menos lo comprendo:
Código:
<?xml version="1.0" ?>
<rootdoc>
<user id="1">
<username>user1</username>
<surname>surname1</surname>
</user>
<user id="2">
<username>user2</username>
<surname>surname2</surname>
</user>
</rootdoc>
Modificando las funciones del artículo que os decía, me ha quedado algo usable:
Código PHP:
<?php
function get_content($parent)
{
$nodes = $parent->child_nodes();
while ($node = array_shift($nodes))
{
if ($node->node_type() == XML_TEXT_NODE)
return $node->node_value();
}
return "";
}
function find_content($parent, $name)
{
$nodes = $parent->child_nodes();
while ($node = array_shift($nodes))
{
if ($node->node_name() == $name)
{
return get_content($node);
}
}
return "";
}
function find_attr($parent, $name, $attr)
{
if ($parent->node_name() == $name)
{
$attribs = $parent->attributes();
while ($attrib = array_shift($attribs))
{
if ($attrib->name() == $attr)
{
return $attrib->value();
}
}
}
return "";
}
$archivo = "./midoc.xml";
$doc = domxml_open_file($archivo);
$root = $doc->root();
$users = $root->child_nodes();
while ($user = array_shift($users))
{
if ($user->node_type() == XML_ELEMENT_NODE)
{
echo "usuario\n";
$username = find_content($user, "username");
$surname = find_content($user, "surname");
$id = find_attr($user, "user", "id");
echo "Id: $id , usuario: $username , surname: $surname \n";
}
}
echo "\n";
?>
Espero que a alguien esto le ayude
Yo más o menos ya lo voy comprendiendo.
Un saludo,