2010-05-17 4 views
1

J'essaie d'accéder à certaines données à partir d'un fichier XML, voici le problème.Accès au nœud d'un objet XML

###XML FILE 
<products> 
    <product> 
     .... 
     .... 
    </product> 
    <product> 
     .... 
     .... 
    </product> 
    etc... 
</products> 

Je sais que la donnée dont j'ai besoin est ($products->product->myProdNode) J'ai cette cartographie (et bien d'autres) stockés dans ma base de données sous forme de chaîne par exemple » product->prodCode 'ou' product->dedscriptions->short_desc 'Comment puis-je accéder à ces données en utilisant les chaînes stockées dans ma base de données?

Merci pour votre aide à l'avance!

Répondre

2

Je pense que si vous remplacez votre -> par la barre oblique (/), ils deviennent effectivement Xpath et vous pouvez interroger le contenu du nœud comme ça.

par exemple

'product->dedscriptions->short_desc' should be mapped to 
'product/dedscriptions/short_desc' 

S'il vous plaît en savoir plus sur Xpath here

Par ex En C#

XmlNode.SelectSingleNode ("produit/dedscriptions/short_desc"). InnerText va obtenir le court texte Description

Dans php

$ result = $ Record-> XPath ('descriptions/short_description') While (list (, $ node) = each ($ result)) { echo 'Les résultats sont:', $ node, "\ n"; }

+0

Comment puis-je obtenir les données avec cette méthode? – Lizard

+0

$ record-> xpath ('descriptions/short_description'); - Je veux juste la valeur pas l'objet SimpleXMLElement – Lizard

+0

Je ne suis pas sûr des propriétés et des méthodes de l'objet SimpleXMLElement, mais vous devez accéder au texte ou à la valeur interne –