Csharp/CSharp Tutorial/XML LINQ/XElement
Версия от 15:31, 26 мая 2010; (обсуждение)
Get Descendants for a node
using System;
using System.Linq;
using System.Xml.Linq;
class LinqToXml
{
static void Main(string[] args)
{
XElement doc = XElement.Load("table.xml");
var products = from prodname in doc.Descendants("products") select prodname.Value;
foreach (var prodname in products)
Console.WriteLine("Product"s Detail = {0}\t", prodname);
}
}
Parse Load xml from hard coded string
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Text;
class Program
{
static void Main(string[] args)
{
XElement xdoc = XElement.Parse(@"
<customers>
<customer ID=""A"">
<order Item=""Widget"" Price=""100"" />
<order Item=""Tire"" Price=""200"" />
</customer>
</customers>
");
Console.WriteLine(xdoc);
}
}
XML Fragments
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Text;
class Program
{
static void Main(string[] args)
{
XElement xcust =
new XElement("customers",
new XElement("customer",
new XAttribute("ID", "A"),
new XAttribute("City", "New York"),
new XAttribute("Region", "North America"),
new XElement("order",
new XAttribute("Item", "Widget"),
new XAttribute("Price", 100)
),
new XElement("order",
new XAttribute("Item", "Tire"),
new XAttribute("Price", 200)
)
)
);
string xmlFileName = "e.xml";
xcust.Save(xmlFileName);
XElement xcust2 = XElement.Load(xmlFileName);
Console.WriteLine(xcust);
}
}