C#:
Робота з XML
Як це робити:
using System;
using System.Xml;
using System.Xml.Linq;
class Program
{
static void Main()
{
var xmlString = @"<bookstore>
<book>
<title lang=""en"">Head First C#</title>
<price>39.99</price>
</book>
</bookstore>";
// Розбір рядка у XDocument
XDocument doc = XDocument.Parse(xmlString);
// Додавання нової книги
doc.Element("bookstore").Add(
new XElement("book",
new XElement("title", "Вивчаємо XML", new XAttribute("lang", "en")),
new XElement("price", 29.99)
)
);
// Виведення XML у консоль
Console.WriteLine(doc);
// Завантаження документу
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
// Отримання всіх цін
XmlNodeList prices = xmlDoc.GetElementsByTagName("price");
foreach (XmlNode price in prices)
{
Console.WriteLine(price.InnerText);
}
}
}
// Зразок виводу:
// <bookstore>
// <book>
// <title lang="en">Head First C#</title>
// <price>39.99</price>
// </book>
// <book>
// <title lang="en">Вивчаємо XML</title>
// <price>29.99</price>
// </book>
// </bookstore>
// 39.99
// 29.99
Занурення
XML існує з кінця 90-х, що робить його дідусем у технологічних роках. Його було придумано для портативності даних та легкості читання людиною. Альтернативи, такі як JSON, зараз наближаються до його п’ят, особливо у веб-контекстах, через його легкість та простоту обробки для багатьох. Але XML все ще тримається на численних спадкових системах та певних комунікаційних протоколах. З XML ви отримуєте схему для валідації вашої структури та простори імен для уникнення конфліктів тегів — функції, які говорять про його готовність до використання у підприємництві.
У C#, простори імен System.Xml.Linq
та System.Xml
— це дві великі зброї для роботи з XML. LINQ to XML (XDocument
, XElement
) є більш сучасним і елегантним — ви бачили його магію на прикладі. XmlDocument
надає вам підхід DOM (Document Object Model) — трохи старошкільний, але деякі люди клянуться його силою.