2010-01-17 6 views
1

J'ai un document XML ci-dessous:Comment accéder aux éléments et attributs XML?

<wave waveID="1"> 
    <well wellID="1" wellName="A1"> 
     <oneDataSet> 
     <rawData>0.1123975676</rawData> 
     </oneDataSet> 
    </well> 
    ... more wellID's and rawData continues here... 

En termes généraux, ce qui est la meilleure façon de lire le rawData, dois-je saisir le nœud contenant le bien waveID = 1 et boucle à travers cet arbre trouver le rawData pour chaque wellID? Je suis nouveau à XML et un peu confus sur la meilleure façon de lire les arbres.

+1

langage de programmation/application vous envisagez d'utiliser pour lire et traiter les données? En général, vous pouvez apprendre à utiliser la syntaxe XPath car c'est ce que la plupart des analyseurs XML utilisent pour localiser les balises et les éléments et en extraire des données. W3Schools.com a un très bon tutoriel sur l'utilisation de XPath: http://www.w3schools.com/xpath/default.asp – Sharpie

Répondre

1

Il existe deux types d'analyseurs XML que vous pouvez utiliser. L'approche DOM (que vous avez essayé dans votre autre article sur XPath) est une approche DOM. Ici, le document XML est chargé en mémoire à la fois et vous utilisez des expressions XPath pour sélectionner les données que vous voulez. L'autre approche est SAX. Avec SAX, vous implémentez des méthodes de rappel appelées par l'analyseur lors de la lecture de votre document. Ceci est plus d'un modèle basé sur les événements. l'avantage ici est que vous n'avez pas besoin de consommer beaucoup de mémoire en chargeant le document entier en mémoire à la fois.

-1

Si vous utilisez des langages .NET, le moyen le plus simple d'accéder aux informations XML consiste à utiliser l'objet DataSet. Vous créez un objet DataSet, puis utilisez la méthode .ReadXML() sur votre fichier XML et il analyse ces informations dans un ensemble de DataTables qui sont plus facilement analysés que le XML brut.

+0

-1: DataSet ne fonctionne pas pour tous les modèles XML, seulement ceux qui correspondent à un modèle relationnel. –

+0

Je n'ai pas encore trouvé un fichier XML qui n'a pas pu être chargé dans un DataSet. Avez-vous un exemple? –

+0

Voici une application de jouet que j'ai mis ensemble qui édite des fichiers XML analysés dans des DataSets que vous pouvez utiliser pour tester avec: http://dot-dash-dot.com/files/WTFXMLSetup_1_8_0.msi. –

Questions connexes