Как использовать XComment при чтении в XML-документе?

Я использую следующую строку для чтения в документе XML, в котором некоторые комментарии могут быть или не заключены в скобки <!-- -->в верхней части моего файла XML:

XDocument xe1 = XDocument.Load(filepath)

Как читать в комментариях и хранить в виде строки?

Я делаю это в MS Visual Studio C #.

Я знаю, что есть что-то под названием «XComment», но я не могу найти простой пример, который использует это при чтении в XML (я могу только найти примеры для создания нового файла XML).

-Adeena

13.12.2008 21:46:46
1 ОТВЕТ

Используйте этот фрагмент, чтобы получить все комментарии из XDocument:

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

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

и это для разбора только комментариев верхнего уровня:

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

var comments = from node in document.Nodes()
           where node.NodeType == XmlNodeType.Comment
           select node as XComment;
14
13.12.2008 22:35:08
Гораздо элегантнее, чем я пытался. Спасибо!
adeena 13.12.2008 23:46:56
Приятно слышать, что это было полезно! Вы также можете помочь мне, отметив ответ как принятый;)
maxnk 14.12.2008 07:56:48
Вместо того , чтобы проверить , если node.NodeType == XmlNodeType.Commentи затем выбирая node as XComment, вы можете использовать OfType: document.Nodes().OfType<XComment>(); для комментариев ниже рута:document.Root.Nodes().OfType<XComment>()
Metro Smurf 14.02.2014 22:50:30