23 Haziran 2016 Perşembe

XmlNode Sınıfı

Giriş
Şu satırı dahil ederiz.
using System.Xml;
Alanlar
Attributes Alanı
Şöyle yaparız.
XmlNode m = ...;
if (m.Attributes.Count > 0)
{
    string c1 = (m.Attributes["id"].InnerText);  }
}
Düğüme yeni bir Attribute şöyle eklenir
XmlAttribute xsiAttr = ...;
doc.DocumentElement.Attributes.Append(xsiAttr);
ChildNodes Alanı
Alt düğümler şöyle dolaşılır.
XmlNode node = ...;
foreach (XmlNode childNode in node.ChildNodes)
{...}
FirstChild Alanı
Şöyle yaparız.
XmlNode child = node.FirstChild;
HasChildNodes Alanı
Şöyle yaparız.
if (node.HasChildNodes) {...}
InnerText Alanı
Düğümün kendi tag'leri hariç arada kalan metni olduğu gibi (başka xml tag'leri olsa bile) almamızı sağlar.
node.InnerText;
InnerXml Alanı
Düğümün kendi tag'leri hariç arada kalan her şeyi verir.

Name Alanı
#text vs. gibi şeyler döner. Çok işimize yaramaz.
node.Name
Nodes Alanı
Şöyle yaparız.
if(node.Nodes.Count == 0) {...}
NodeType Alanı
Düğümün tipini verir.
var isTextNode = node.NodeType == XmlNodeType.Text;
OuterXml Alanı
Düğümün kendi tag'leri dahil arada kalan her şeyi verir.
var xmlDoc = new XmlDocument();
xmlDoc.Load("TestXML.xml");
var str = xmlDoc.DocumentElement.OuterXml;
ParentNode Alanı
Şöyle yaparız.
XmlNode parent =node.ParentNode;
Value Alanı
En çok kullanılan alanlardan birisi. Düğüm Attribute ise değerini almamızı sağlar.
node.Value
Metodlar
AppendChild metodu
Belgeye yeni düğüm eklemek için şöyle yaparız.
XmlDocument doc = ...
XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Order"));
Bir başka belgeden yeni belgeye dahil etmek için şöyle yaparız.
var xmlDocument = ...
var body = doc.SelectSingleNode("/ReportEnvelope/Body");
xmlDocument.AppendChild(xmlDocument.ImportNode(body, true));
RemoveChild metodu
Şöyle yaparız.
XmlNode node = xmlDoc.DocumentElement.GetElementsByTagName("ReadRequests")[0];
if (node != null)
{
    doc.DocumentElement.RemoveChild(node);
SelectSingleNode metodu
Şöyle yaparız.
XmlNode nr = doc.SelectSingleNode(@"/feed/fullcount");
SelectNodes metodu
Şöyle yaparız.
foreach (XmlNode node in doc.SelectNodes(@"/feed/entry"))
{...}

Hiç yorum yok:

Yorum Gönder