Giriş
Bu sınıf XDocument sınıfına çok benzer hatta bir çok şeyi ikisi de yapabilir.
Alanlar
HasElements Alanı
Düğümün alt düğümü olup olmadığını belirtir. Şöyle yaparız.
XName tipindendir. Tag ismini süslü parantez içinde verir.
Tag içinde kalan metni verir. Şöyle yaparız.
Constructor - XName
Şöyle yaparız.
Şöyle yaparız.
<Students>
<Student><ID>...</ID><Name>...</Name>...</Student>
<Students>
Add metodu - XAttribute
Düğüme yeni bir Attribute ekler. Şöyle yaparız.
Alt düğüm ekler. Şöyle yaparız.
Elimizde şöyle bir XML olsun.
Ya da şöyle yaparız.
Elimizde şöyle bir xml olsun.
Şöyle yaparız. Bu metod XDocument sınıfında da mevcut.
XNode Sınıfı yazısına bakınız.
ReplaceNodes metodu
Şöyle yaparız.
Şöyle yaparız. Bu metod XDocument sınıfında da mevcut.
Bu sınıf XDocument sınıfına çok benzer hatta bir çok şeyi ikisi de yapabilir.
Alanlar
HasElements Alanı
Düğümün alt düğümü olup olmadığını belirtir. Şöyle yaparız.
XElement element = ...
if element.HasElements {...}
Name AlanıXName tipindendir. Tag ismini süslü parantez içinde verir.
XElement element = ...;
element.Name
Eğer süslü parantez olmadan almak istersek şöyle yaparız.XElement element = ...;
element.Name.LocalName
Value AlanıTag içinde kalan metni verir. Şöyle yaparız.
element.Value
MetodlarConstructor - XName
Şöyle yaparız.
XElement el = new XElement("CapacityIssues");
XML şöyledir.<?xml version="1.0" encoding="utf-16"?>
<CapacityIssues xmlns:xsd="..." xmlns:xsi="...">
...
</CapacityIssues>
Constructor - XName + ObjectŞöyle yaparız.
XElement el = new XElement("ID", "4123567")
XML şöyledir.<ID>4123567</ID>
Elimizde bir liste olsunList<Student> students = new List<Student>() {...};
Bu listeyi XML'e şöyle çeviririz.XElement element =
new XElement("Students",
(from student in students
select new XElement("Student",
new XElement("ID", student.ID),
new XElement("Name",student.Name),
new XElement("Address", student.Address),
new XElement("Phone",student.Phone)
)
)
);
Şöyle bir sonuç çıkar<Students>
<Student><ID>...</ID><Name>...</Name>...</Student>
<Students>
Add metodu - XAttribute
Düğüme yeni bir Attribute ekler. Şöyle yaparız.
XElement el = ...;
el.Add(new XAttribute("ServerGroup", "A"));
Şöyle bir XML elde ederiz.<TrackingDetails ServerGroup="A">
...
</TrackingDetails>
Add metodu - XElementAlt düğüm ekler. Şöyle yaparız.
XElement el = ...;
el.Add(new XAttribute("FaultCode", "111"));
Şöyle bir XML elde ederiz.<TrackingDetails ServerGroup="A">
<ID>4123567</ID>
...
</TrackingDetails>
Attribute metoduElimizde şöyle bir XML olsun.
<ext-link xlink:href="..." ext-link-type="..." xmlns:xlink="...">...
</ext-link>
xlink ile başlayan kısım namespace prefix. XName ile şöyle yaparız. Attribute ismi olarak href + namespace veririz.var strValue = (string)xeTmp.Attribute(XName.Get("href", "..."));
var strValue = (string)xeTmp.Attribute(((XNamespace)"...") + "href");
Elements metodu - XNamespaceElimizde şöyle bir xml olsun.
string xmlContent = "<ArrayOfstring
xmlns:i="http://www.23.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsft.com/2003/10/SerializationArrays><
string>....</string></ArrayOfstring>"
;
Namespace ile şöyle kullanılır.XNamespace ns = "http://schemas.microsft.com/2003/10/SerializationArrays";
XDocument doc = ...;
var list = doc.Root.Elements(ns + "string")
Load metoduŞöyle yaparız. Bu metod XDocument sınıfında da mevcut.
var root = XElement.Load(xmlFile);
ReadFrom metoduXNode Sınıfı yazısına bakınız.
ReplaceNodes metodu
Şöyle yaparız.
root.ReplaceNodes(new XElement("tests", root.Elements("test")));
Save metoduŞöyle yaparız. Bu metod XDocument sınıfında da mevcut.
root.Save(FileName + ".xml");
Hiç yorum yok:
Yorum Gönder