2008-12-13 4 views
5

estoy usando la siguiente línea a leer en un documento XML que pueden o no pueden tener algunos comentarios entre corchetes por "<!-- -->" cerca de la parte superior de mi archivo XML:¿Cómo uso XComment cuando leo en un documento XML?

XDocument xe1 = XDocument.Load(filepath) 

¿Cómo se lee en los comentarios y almacenar como una cadena?

Estoy haciendo esto en MS Visual Studio C#.

Sé que hay algo llamado "XComment", pero no puedo encontrar un ejemplo simple que lo use al leer en el XML (solo puedo encontrar ejemplos para crear un nuevo archivo XML).

-Adeena

+0

XML Fragmento favor? – shahkalpesh

Respuesta

14

Usar este fragmento para obtener todos los comentarios de la XDocument:

var document = XDocument.Load("test.xml"); 

var comments = from node in document.Elements().DescendantNodesAndSelf() 
     where node.NodeType == XmlNodeType.Comment 
     select node as XComment; 

y esto solamente para analizar los comentarios de nivel superior:

var document = XDocument.Load("test.xml"); 

var comments = from node in document.Nodes() 
      where node.NodeType == XmlNodeType.Comment 
      select node as XComment; 
+0

Mucho más elegante que lo que estaba intentando. ¡Gracias! – adeena

+3

¡Genial para escuchar que fue útil! También puede ayudarme marcando la respuesta como aceptada;) – maxnk

+0

En lugar de verificar si 'node.NodeType == XmlNodeType.Comment' y luego seleccionar el' node como XComment', puede usar OfType: 'document.Nodes(). OfType () '; para comentarios debajo de la raíz: 'document.Root.Nodes(). OfType ()' –

Cuestiones relacionadas