L'obtention de valeurs à partir du fichier xml à l'aide de C#
Je suis assez nouveau à xml et je ne sais pas comment lire/obtenir les valeurs à partir du fichier xml ci-dessous:
<?xml version="1.0" encoding="utf-8" ?>
<Jeopardy>
<category name = 'People in Computing'>
<first points = '100' answer = 'Alan Turing'>Known as the questioner of the human mind, this man is known for helping tell humans and computers apart.</first>
<second points = '200' answer = 'Grace Hopper'>This female pioneer of the COBOL computer programming language was an Admiral in the US Navy.</second>
<third points = '300' answer = 'Tim Berners-Lee'>Called the father of the world wide web, this man is the director of the W3C.</third>
<fourth points = '400' answer = 'Lawrence Lessig'>An American academic and political activist who founded the Creative Commons, this man lobbies for reduced legal restrictions on copyrights and trademarks in the technology sector.</fourth>
<fifth points = '500' answer = 'Ada Lovelace'>This woman, known as the world's first computer programmer was also a Countess.</fifth>
</category>
</Jeopardy>
Désolé pour la terrible mise en forme, ne peut pas obtenir de droit.
Tout d'abord, j'ai essayé de charger ce fichier dans XDocument résultats dans un "Non-blancs de l'espace ne peut pas être ajouté au contenu" exception, mais il n'a pas eu lieu si chargé en XmlDocument.
Mon code pour tenter d'obtenir le nom de la valeur:
string fileName = @"C:\Users\Kara\documents\visual studio 2010\Projects\Final Project\Final Project\Jeopardy.xml";
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
List<string> categories = new List<string>();
XmlNodeList nList = doc.SelectNodes("/category/name");
foreach (XmlNode node in nList)
{
categories.Add(node.ToString());
}
Malheureusement pendant le débogage du programme nlist a un nombre de zéro et je ne peux pas comprendre pourquoi. J'ai essayé de regarder une tonne de questions déjà ici et tutoriels ailleurs et je suis juste frustré. Comment puis-je obtenir les valeurs de nom et d'autres nœuds? Quelqu'un peut-il expliquer cela? Et peut-être pourquoi je reçois le non-blanc, l'espace d'erreur avec XDocument?
OriginalL'auteur Kefkamaydie | 2013-01-08
Vous devez vous connecter pour publier un commentaire.
doc.SelectNodes("/category/name")
Vous n'êtes pas à trouver les nœuds parce que 1) le premier nœud est
Jeopardy
, pascategory
et 2)name
est un attribut de la catégorie n'est pas un enfant de l'élément.Essayer:
doc.SelectNodes("/Jeopardy/category/@name")
Comme ceci:
J'ai édité la réponse pour le rendre un peu plus simple de sorte que vous sélectionnez directement l'attribut. Je pense que c'est plus clair maintenant, et plus proche de ce que vous aviez.
OriginalL'auteur aquinas
Assurez-vous que l'encodage du fichier correspond à l'encodage attendus par votre document méthode de chargement. Généralement UTF8 est la préférée de l'encodage des fichiers XML.
Comme indiqué ci-dessus, vous pouvez utiliser:
ou
ou
OriginalL'auteur Kenneth Ellested
Vous devez ouvrir le document XML
Une fois que vous obtenez votre nœud, alors vous pouvez faire quelque chose de nécessaire avec elle
OriginalL'auteur Prasad Joshi