Обучение
Модуль
Создание пользовательского интерфейса в приложении .NET MAUI с помощью XAML - Training
Узнайте, как создать пользовательский интерфейс для приложения .NET MAUI с помощью XAML.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
LINQ to XML обеспечивает интерфейс программирования для работы с XML в памяти на основе платформы .NET LINQ Framework. Интерфейс LINQ to XML использует возможности .NET и может быть сравним с обновленным, переработанным программным интерфейсом XML модели DOM.
XML широко используется для форматирования данных в целом ряде контекстов. Примеры XML можно обнаружить в веб-среде, в файлах конфигурации, в файлах Microsoft Office Word и в базах данных.
LINQ to XML — это обновленный подход к программированию с использованием XML. Он позволяет изменять документы в оперативной памяти на основе модели DOM и поддерживает выражения запросов LINQ. Хотя в синтаксическом отношении эти выражения запросов отличаются от XPath, они предоставляют аналогичные функциональные возможности.
LINQ to XML предназначен для различных разработчиков. Для среднего разработчика, который просто хочет сделать что-то сделать, LINQ to XML упрощает XML, предоставляя интерфейс запроса, аналогичный SQL. Посвятив совсем немного времени изучению предмета, программисты могут научиться составлять сжатые и мощные запросы на предпочитаемом ими языке программирования.
Профессиональные разработчики могут использовать LINQ to XML, чтобы значительно повысить производительность. С помощью LINQ to XML они могут писать меньше кода, который более экспрессивный, более компактный и более мощный. Они могут одновременно использовать выражения запросов из нескольких доменов данных.
LINQ to XML — это интерфейс программирования XML с поддержкой LINQ, который позволяет работать с XML на языках программирования .NET.
LINQ to XML похож на объектную модель документа (DOM), в которую он переносит XML-документ в память. К такому документу можно направить запрос, его можно изменить, а после изменения его можно сохранить в файле или сериализовать и передать через Интернет. Однако LINQ to XML отличается от DOM:
Наиболее важным преимуществом LINQ to XML является интеграция с языковым интегрированным запросом (LINQ). Эта интеграция дает возможность создавать запросы к загруженному в память XML-документу с целью получения коллекций элементов и атрибутов. Возможность запроса LINQ to XML сравнима с функциональностью (хотя и не синтаксисом) с XPath и XQuery. Интеграция LINQ с C# и Visual Basic обеспечивает более надежную типы, проверка компиляцию и улучшенную поддержку отладчика.
Еще одним преимуществом LINQ to XML является возможность использовать результаты запроса в качестве параметров и XElementXAttribute конструкторов объектов позволяет эффективно использовать подход к созданию деревьев XML. Этот подход, известный как функциональное построение, дает разработчикам возможность легко преобразовывать деревья XML из одной формы в другую.
Например, у вас может быть типичный xml-заказ на покупку, как описано в примере XML-файла: типичный заказ на покупку. С помощью LINQ to XML можно выполнить следующий запрос, чтобы получить значение атрибута номера части для каждого элемента в заказе на покупку:
// Load the XML file from our project directory containing the purchase orders
var filename = "PurchaseOrder.xml";
var currentDirectory = Directory.GetCurrentDirectory();
var purchaseOrderFilepath = Path.Combine(currentDirectory, filename);
XElement purchaseOrder = XElement.Load(purchaseOrderFilepath);
IEnumerable<string> partNos = from item in purchaseOrder.Descendants("Item")
select (string) item.Attribute("PartNumber");
' Load the XML file from our project directory containing the purchase orders
Dim filename = "PurchaseOrder.xml"
Dim currentDirectory = Directory.GetCurrentDirectory()
Dim purchaseOrderFilepath = Path.Combine(currentDirectory, filename)
Dim purchaseOrder As XElement = XElement.Load(purchaseOrderFilepath)
Dim partNos = _
From item In purchaseOrder...<Item> _
Select item.@PartNumber
В C# это можно переписать в форме синтаксиса метода:
IEnumerable<string> partNos = purchaseOrder.Descendants("Item").Select(x => (string) x.Attribute("PartNumber"));
Еще один пример. Пусть требуется сформировать отсортированный в соответствии с номерами деталей список продуктов стоимостью выше 100 долл. Для получения этих сведений можно выполнить следующий запрос:
// Load the XML file from our project directory containing the purchase orders
var filename = "PurchaseOrder.xml";
var currentDirectory = Directory.GetCurrentDirectory();
var purchaseOrderFilepath = Path.Combine(currentDirectory, filename);
XElement purchaseOrder = XElement.Load(purchaseOrderFilepath);
IEnumerable<XElement> pricesByPartNos = from item in purchaseOrder.Descendants("Item")
where (int) item.Element("Quantity") * (decimal) item.Element("USPrice") > 100
orderby (string)item.Element("PartNumber")
select item;
' Load the XML file from our project directory containing the purchase orders
Dim filename = "PurchaseOrder.xml"
Dim currentDirectory = Directory.GetCurrentDirectory()
Dim purchaseOrderFilepath = Path.Combine(currentDirectory, filename)
Dim purchaseOrder As XElement = XElement.Load(purchaseOrderFilepath)
Dim partNos = _
From item In purchaseOrder...<Item> _
Where (item.<Quantity>.Value * _
item.<USPrice>.Value) > 100 _
Order By item.<PartNumber>.Value _
Select item
Опять же, в C# это можно переписать в форме синтаксиса метода:
IEnumerable<XElement> pricesByPartNos = purchaseOrder.Descendants("Item")
.Where(item => (int)item.Element("Quantity") * (decimal)item.Element("USPrice") > 100)
.OrderBy(order => order.Element("PartNumber"));
Помимо этих возможностей LINQ, LINQ to XML предоставляет улучшенный интерфейс программирования XML. С помощью LINQ to XML можно:
Одним из наиболее важных преимуществ программирования с помощью LINQ to XML является то, что легко создавать деревья XML. Так, для создания небольшого дерева XML можно написать следующий код:
XElement contacts =
new XElement("Contacts",
new XElement("Contact",
new XElement("Name", "Patrick Hines"),
new XElement("Phone", "206-555-0144",
new XAttribute("Type", "Home")),
new XElement("phone", "425-555-0145",
new XAttribute("Type", "Work")),
new XElement("Address",
new XElement("Street1", "123 Main St"),
new XElement("City", "Mercer Island"),
new XElement("State", "WA"),
new XElement("Postal", "68042")
)
)
);
Dim contacts As XElement = _
<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone>206-555-0144</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
</Contact>
</Contacts>
Примечание
В версии Visual Basic примера используются XML-литералы. Вы также можете использовать XElement в Visual Basic, как и в версии C#.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Обучение
Модуль
Создание пользовательского интерфейса в приложении .NET MAUI с помощью XAML - Training
Узнайте, как создать пользовательский интерфейс для приложения .NET MAUI с помощью XAML.