J'ai un fichier XML valide en cours de lecture par le service Windows Windows suivant. La balise en question (U1_000) est absolument dans l'élément:
XmlDocument doc = new XmlDocument(); doc.Load("C:\\j.xml"); XmlElement ee = doc.GetElementById("U1_000"); <book id="U1_000" category="web">
3 Réponses :
Si rien d'autre, utilisez peut-être XPath comme sauvegarde:
Merci Marc, j'irai cette route. Bonne idée. Merci à Anthony aussi.
Vous avez besoin d'une DTD pour établir l'attribut sur les éléments de constituerait l'ID unique. Dans XML, il n'est pas automatiquement supposé que l'attribut en général "induite" XML "Undduded" Le getElementyID n'est pas très utile. La plupart des cas La structure du fichier XML étant traitée est comprise (par exemple, l'élément racine est appelé Si vous ne connaissez vraiment pas la structure XML et / ou le nom de la balise de l'élément, la recherche de force brute décrite dans la réponse MarcS fonctionnerait . p> p> ID CODE> doit être traité comme un identifiant d'élément unique.
books code> contenant une série de
book code> éléments), par conséquent un accès typique regarderait quelque chose comme ceci: - p>
Pouvez-vous publier votre document XML (ou un exemple)? Établissez-vous ce que l'identifiant est dans le doctype?
En fait, non pas dans le type doc - je vais examiner cela. Pensée spécifier l'identifiant était Enuf; (- merci
Nope, il n'y a rien de magie sur le nom d'attribut "ID". "XML: id", d'autre part ... w3.org/tr/xml- ID
Juste une supposition, mais sont sensibles aux identifiants d'élément?
Ils sont sensibles à la casse. Mais cette balise ici j'ai changé de l'original pour protéger l'innocent (et moi). Les cas d'origine correspondent.