Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récuperer un numéro de ligne d'un document XML.

3 réponses
Avatar
Gilles TOURREAU
Bonjour tout le monde !

J'utilise XmlDocument.Load() pour charger un document XML depuis un
fichier.
Je parcours ce fichier et je détecte des "anomalies" saisie par
l'utilisateur (qui n'ont aucun rapport avec le format XML) mais des
anomalies du style :

<Nom>Dupon</Nom>

Je voudrais signaler à l'utilisateur qu'il manque un "D" à ce nom, mais
je voudrais aussi spécifier la ligne.
Est-ce qu'il existe un moyen de récuperer le n° de la ligne d'un
XmlNode ou un XmlElement d'un fichier XML ?

Cordialement

--
Gilles TOURREAU
Responsable informatique
gilles.tourreau@pos.fr

Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr

3 réponses

Avatar
Fred
dans : news:,
Gilles TOURREAU écrivait :

Bonjour tout le monde !



Bonjour,

Est-ce qu'il existe un moyen de récuperer le n° de la ligne d'un
XmlNode ou un XmlElement d'un fichier XML ?



Les lignes ne sont pas significatives en XML. Je ne vois pas d'autre
solution que d'écrire une routine qui remet en forme le fichier (selon
le mode de visualisation de IE par exemple).
À ce moment là, il sera peut-être possible de déduire un numéro de ligne
en comptant les éléments (et leurs enfants récursivement) à partir du
début. Mais certaines lignes pourront être très longues.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Gilles TOURREAU
Dans son message précédent, Fred a écrit :
dans : news:,
Gilles TOURREAU écrivait :

Bonjour tout le monde !



Bonjour,

Est-ce qu'il existe un moyen de récuperer le n° de la ligne d'un
XmlNode ou un XmlElement d'un fichier XML ?



Les lignes ne sont pas significatives en XML. Je ne vois pas d'autre solution
que d'écrire une routine qui remet en forme le fichier (selon le mode de
visualisation de IE par exemple).
À ce moment là, il sera peut-être possible de déduire un numéro de ligne en
comptant les éléments (et leurs enfants récursivement) à partir du début.
Mais certaines lignes pourront être très longues.



Je viens de trouver !

Suffit d'utiliser un lecteur : XmlTextReader() avec la propriété
LineNumber.

Cordialement

--
Gilles TOURREAU
Responsable informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Fred
dans : news:,
Gilles TOURREAU écrivait :

Dans son message précédent, Fred a écrit :
dans : news:,
Gilles TOURREAU écrivait :

Bonjour tout le monde !



Bonjour,

Est-ce qu'il existe un moyen de récuperer le n° de la ligne d'un
XmlNode ou un XmlElement d'un fichier XML ?



Les lignes ne sont pas significatives en XML. Je ne vois pas d'autre
solution que d'écrire une routine qui remet en forme le fichier
(selon le mode de visualisation de IE par exemple).
À ce moment là, il sera peut-être possible de déduire un numéro de
ligne en comptant les éléments (et leurs enfants récursivement) à
partir du début. Mais certaines lignes pourront être très longues.



Je viens de trouver !

Suffit d'utiliser un lecteur : XmlTextReader() avec la propriété
LineNumber.



C'est bien pratique !
Ton document XML est donc bien agencé en lignes alors ?
J'ai vu qu'il y a des propriétés dans ce sens avec la classe
XmlTextWriter.
Mais il me semble qu'un Save de la classe XmlDocument ne gère pas
nécessairement la mise en forme.
Je note cela en tous cas :-)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT