À l'aide de XmlDocument pour Récupérer des valeurs dans c#
Je suis en utilisant XmlDocument()
pour l'analyse d'un fichier de type **.opf ** pour ma demande de EpubReader.
<item id="W01MB154" href="01MB154.html" media-type="application/xhtml+xml" />
<item id="W000Title" href="000Title.html" media-type="application/xhtml+xml" />
avec
<itemref idref="W000Title" />
<itemref idref="W01MB154" />
Ces valeurs dans un même fichier.
Ici, je sais que la valeur de id l'intérieur de la balise de élément, après cela, je voudrais savoir la valeur de la href élément.
Ce que j'ai à faire est de comparer la valeur idref élément dans le itemref de la balise avec la valeur de l'élément de id dans la balise élément. Ici, je sais que le id valeur qui est W01MB154.
Simplement, je veux savoir la valeur suivante de id qui est href élément, à l'Aide de XmlDocument().
Pouvez-vous post complet de fichier xml ou au moins d'autres balises entourant la balise d'élément? Il doit être le seul élément racine mais dans l'exemple ci-dessus, il y a plus de
Désolé de le dire, le
Désolé de le dire, le
XMlDocument()
est totalement varie dans l'app Store. J'ai vérifié votre code Console application, elle est à la recherche de bonnes. C'est ma faute avec de mentionner que le Magasin d'app. Je suis m'en excuse, je suis l'évolution de la question. Merci.OriginalL'auteur Kumar | 2013-07-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez commencer avec le code suivant. Quand je l'execute, je reçois une sortie appropriée:
De sortie:
Le langage XML utilisé est:
XmlNode
j'ai besoin d'une suggestion de votre part, je vais utiliserLinq to SQL
ouXDocument()
. Pouvez-vous me suggérer la manière Dont est adaptée à ma situation ou quelque chose d'autre est là?Vous pouvez également essayer `XmlNodeList itemRefList = xml.GetElementsByTagName("itemref");
Oui, je suis en utilisant
GetElementsByTagName("itemref");
seulement. Ici, je suis structurée. Je Sais que les valeurs de id dans la Liste. Est-il une propriété afin d'obtenir l'élément suivant de la valeur qui est href enXmlDocument()
. me donner une idée. Mercidécouvrez mon montage. Il fonctionne bien pour moi et me donne le résultat souhaité dans une application console. Veuillez vérifier les
structure of the XML document
et laXPath expression
.Désolé de le dire, le
XMlDocument()
est totalement varie dans l'app Store. J'ai vérifié votre code Console application, elle est à la recherche de bonnes. C'est ma faute avec de mentionner que le Magasin d'app. Je suis m'en excuse. Merci.OriginalL'auteur Vivek Jain
Code suivant charge et l'analyse de contenu.opf de fichier sans aucune erreur.
À la parcourir et de comparer ci-dessus xml, vous pouvez utiliser le code suivant:
Lorsque j'essaie d'utiliser votre extrait de code, j'obtiens une erreur, La meilleure méthode surchargée de match pour Windows.Les données.Xml.Dom.XmlNamedNodeMap.cette[int]' a certains arguments invalides, Avant que je ne reçois pas
XmlNode
, au Lieu de cela, je suis en utilisantIXmlNode
.J'ai corrigé le code.. il semble bien fonctionner
Il n'y a pas de
Load
Définition dansXmlDOcument()
. Peut-U s'il vous plaît vérifier cela.. [sdrv.ms/1b1lzpf ] Si j'utilise.LoadXml()
Il donne des erreur dansxItem.Attributes["id"].Value;
Ne peut pas appliquer l'indexation [] pour une expression de type "méthode" groupe "Vous devez ajouter une référence à System.Xml ou utiliser pleinement qualifié du nom pour la classe xmlDocument comme ça. System.Xml .XmlDeocumnt xDoc= new System.Xml .XmlDeocumnt();
OriginalL'auteur Munawar