Предполагая, что неприятный раздел CDATA
является преднамеренным, и вас интересует только текстовое содержимое ваших листовых элементов, вы можете сделать что-то вроде:
XElement root = XElement.Load(yourFile);
var data = from element in XElement.Parse(root.Value).Descendants("element")
select new {
Item = element.Elements("item").First().Value,
Value = element.Elements("int").First().Value
};
Тем не менее, если код, который генерирует ваш входной файл, находится под вашим контролем, рассмотрите возможность избавления от раздела CDATA
. Хранение XML в XML таким способом не подходит в большинстве случаев, так как это противоречит цели языка разметки (и требует нескольких проходов синтаксического анализатора, как показано выше).