Як перетворити форму XML-дерева, Microsoft Docs
Поняття форма стосовно XML-документу позначає сукупність імен елементів, атрибутів та характеристик його ієрархії.
Іноді може знадобитися змінити форму XML-документа.Наприклад, може знадобитися передати існуючий XML-документ в іншу систему, яка використовує інші назви елементів та атрибутів.Можна пройти за документом, видаляючи та перейменовуючи елементи відповідно до вимог, проте використання результатів функціональних побудов дає більш читаний код і просто код для обробки.Додаткові відомості про функціональну побудову див. у розділі Функціональна побудова (LINQ to XML).
У першому прикладі виконається зміна організації всього XML-документа. Відбувається переміщення складних елементів з місця дерева до іншого.
У другому прикладі, наведеному в цьому розділі, створюється XML-документ, форма якого відмінна від форми вихідного документа. Виконується зміна тегів імен елементів, перейменування деяких елементів та опущення деяких елементів у вихідному дереві.
Наступний код дозволяє змінити форму файлу XML за допомогою впровадженого виразу запиту.
Вихідний XML-документ у цьому прикладі містить Customers елемент Root, в якому міститься список всіх клієнтів. Він також містить елемент Orders під елементом Root, який містить всі замовлення. Orders, який є дочірнім по відношенню до елемента Customer. Оригінальний документ також містить елемент CustomerID всередині елемента Order. Цей елемент буде видалено із перетвореного документа.
У цьому прикладі використовується наступний документ XML: Зразок XML-файлу. Замовники та замовлення(LINQ to XML).
Цей код виводить такі результати:
У цьому прикладі виконується перейменування деяких елементів та перетворення деяких атрибутів на елементи.
Код викликає ConvertAddress, який повертає об'єкти XElement. По відношенню до методу аргументом є запит, який визначає складний елемент Address, в якому атрибут Type має значення "Shipping".