J'ai regardé des articles similaires tels que this one et je ne peux pas tout à fait le faire fonctionner, tout à fait possible, je suis juste un malentendu. J'ai un script simple qui analyse un peu de xml et imprime des champs spécifiques - ce que j'ai du mal à faire, c'est accéder aux données des objets SimpleXMLElement.Accéder à SimpleXMLElements dans un tableau
XML (simplifié pour plus de clarté)
<channel>
<item>
<title><![CDATA[Title is in here ...]]></title>
<description>Our description is in here!</description>
</item>
</channel>
PHP
$url = "file.xml";
$xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
foreach ($xml->channel->item as $item) {
$articles = array();
$articles['title'] = $item->title;
$articles['description'] = $item->description;
}
Jusqu'à ce point, tout semble correct. Je me retrouve avec un tableau de contenu que je peux confirmer avec print_r, ce que je reviens:
Array
(
[title] => SimpleXMLElement Object
(
[0] => Title is in here ...
)
[description] => SimpleXMLElement Object
(
[0] => Our description is in here!
)
)
La question clé
Comment puis-je alors accès [titre] [0] ou [description] [0]?
J'ai essayé quelques variantes sans succès, probablement une erreur de débutant quelque part!
foreach ($articles as $article) {
echo $article->title;
}
et
foreach ($articles as $article) {
echo $article['title'][0];
}
et
foreach ($articles as $article) {
echo $article['title'];
}
Y at-il une raison particulière pourquoi voulez-vous bourrer chaque $ item-> title et $ item-> description dans un tableau? C'est à dire. pourquoi ne pouvez-vous pas simplement utiliser le simplexmlelement là où vous en avez besoin? – VolkerK
Il y aura probablement de nombreux jeux de titres/descriptions - je veux les rassembler puis les parcourir avec un autre processus ... si cela ressemble à un mauvais processus bien que j'adorerais d'autres suggestions :) – suitedupgeek