Я новичок в использовании LINQ. У меня есть данные XML в формате ниже
<Root>
<Global>
</Global>
<local>
<element name="A">
<subelement name="A">
<element name="A1">
<subelement name="A1">
<Property>
</Property>
</subelement>
</element>
<element name="B">
<Property>
</Property>
</element>
</subelement>
<subelement name="B">
<element name="A">
<Property>
</Property>
</element>
<element name="B">
<Property>
</Property>
</element>
</subelement>
</element>
</local>
</Root>
Я хочу сохранить каждый раздел элемента Property в своем собственном XML-файле, как показано ниже, сохранив при этом структуру иерархии в неизменном виде
<Root>
<Global>
</Global>
<local>
<element name="A">
<subelement name="A">
<element name="A1">
<subelement name="A1">
<Property>
</Property>
</subelement>
</element>
</subelement>
</element>
</local>
</Root>
и
<Root>
<Global>
</Global>
<local>
<element name="A">
<subelement name="A">
<element name="B">
<Property>
</Property>
</element>
</subelement>
</element>
</local>
</Root>
и т. Д. Для всех элементов Property . Каждый элемент может иметь дочерний субэлемент , а каждый субэлемент может иметь элемент дочерний
Можете ли вы предоставить решение о том, как сохранить каждый раздел элемента Свойство в виде нового XML-файла с неизменной структурой текущей иерархии. Я пытался использовать метод Ancestor () класса XElement
XDocument xml = XDocument.Load(filename);
XDocument convertedQuery = new XDocument(
new XElement(xml.Root.Name, from x in xml.Descendants("local")
select x.Ancestors())
);
но он возвращает и другие свойства элементов, как показано ниже
<Root>
<Global></Global>
<local>
<element name="A">
<subelement name="A">
<element name="A1">
<subelement name="A1">
<Property></Property>
</subelement>
</element>
<element name="B">
<Property></Property>
</element>
</subelement>
<subelement name="B">
<element name="A">
<Property></Property>
</element>
<element name="B">
<Property></Property>
</element>
</subelement>
</element>
</local>
Любая помощь будет высоко ценится. Спасибо