OVH Cloud OVH Cloud

xml

2 réponses
Avatar
Julien
bonjour
J'ai un doc xml avec des éléments "classe" (voir ci dessous).
J'ai besoin d'accéder à l'élément "classe" dont l'attribut
nom="client".

Comment y accéder ? actuellement je parcours tout et je teste cet
attribut. (voir ci dessous) Puis je éviter ceci?? car cela ne me
parait
pas top au niveau ressources (qd le fichier fera 300 lignes...)?

Merci d'avance.
Julien


***********************************************************
$xml = simplexml_load_file("objets.xml");
$classes = $xml->classe;
foreach($classes as $a)
{
# on va chercher le bon noeud
if($a["nom"] == "users")
{
$Nfo = $this->GetColInDB("*");
if (!$Nfo)
{
$this->id = 0;
return false;
}
# on liste toutes les propriétés
foreach($a->champ as $b)
{
$sql = $b["sql"];
$this->{$b["nom"]} = $Nfo["$sql"];
}
return true;
}
}


***********************************************************************

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

<xmlDescription>

<classe nom="client" cle="id_client">

<champ nom="id" type="long" sql="id_client">
<form type="hidden" />
</champ>

</classe>

<classe nom="users" cle="id_users">

<champ nom="id" type="long" sql="id_users">
<form type="hidden" />
</champ>
</classe>


</xmlDescription>

2 réponses

Avatar
xav
bonjour
J'ai un doc xml avec des éléments "classe" (voir ci dessous).
J'ai besoin d'accéder à l'élément "classe" dont l'attribut
nom="client".

Comment y accéder ?
Salut,

tu peut le faire facilement avec une requete XPath

$xml = simplexml_load_file("objets.xml");


$users = $xml->XPath("//classe[@nom='users']");

A ++
xavier

Avatar
J.Trotoux
20/10/2005 09:13:38
xav wrote in message
<43573922$0$1706$

bonjour
J'ai un doc xml avec des éléments "classe" (voir ci dessous).
J'ai besoin d'accéder à l'élément "classe" dont l'attribut
nom="client".

Comment y accéder ?
Salut,

tu peut le faire facilement avec une requete XPath

$xml = simplexml_load_file("objets.xml");


$users = $xml->XPath("//classe[@nom='users']");

A ++
xavier


Merci xav je vais tester ca!!
julien