Як перетворити форму 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".