15 Haziran 2016 Çarşamba

XmlDocument Sınıfı

Giriş
Şu satırı dahil ederiz.

using System.Xml;
XmlDocument sınıfı, XDocument sınıfına göre kullanması daha zar bir sınıf. Bu yüzden mümkünse kullanmamalı. XmlNode sınıfından kalıtır.

.Net ile XML ile çalışmak için bir sürü sınıf geliyor. Bunlar şöyle.
XmlNameSpaceManager Sınıfı
Şu satırı dahil ederiz.

using System.Xml;
Şöyle yaparız.
XmlDocument doc = ...

XmlNamespaceManager nsmgratom = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("atom", "http://www.w3.org/2005/Atom");
XmlDocument Sınıfı
Bu sınıfı kullanmak için şu satırı dahil ederiz. XmlNode sınıfından kalıtır.
using System.Xml;
Metodlar
Constructor
Şöyle yaparız.
XmlDocument doc = new XmlDocument();
AppendChild
XmlNode sınıfına bakınız.

CreateAttribute metodu
Şöyle yaparız.
XmlAttribute xsiAttr = doc.CreateAttribute("xsi", "...", "http://www.w3.org/...");
CreateElement metodu
Şöyle yaparız.
XmlElement el = doc.CreateElement("Order");
CreateNavigator metodu
Şöyle yaparız.
XPathNavigator nav = doc.CreateNavigator();
GetElementsByTagName metodu
Bir liste döner. Şöyle yaparız.
XmlNodeList list = xmlDoc.GetElementsByTagName("omgdc:Bounds");
İlk elemanı almak için şöyle yaparız.
XmlNode node = xmlDoc.DocumentElement.GetElementsByTagName("ReadRequests")[0];
Namespace ile de kullanılabilir.
var nodeList = xmlDoc.GetElementsByTagName(
          "Signature", "http://www.w3.org/2000/09/xmldsig#");
Load metodu
Load metodu Stream,String,TextReader,XmlTextReader ile kullanılabilir.

Belirtilen dosyayı yükler. Şöyle yaparız.
string filename = ...;
doc.Load(filename);
String yerine Reader kullanılabilir.
String path = ...;
using (XmlTextReader tr = new XmlTextReader(path))
{
  tr.Namespaces = false;
  xml.Load(tr);
}
LoadXml metodu
Bellekteki xml string'ini yükler.
string response = ...;
doc.LoadXml(response);
Save - Stream
Şöyle yaparız.
using (FileStream fs = new FileStream("test.xml", FileMode.Create))
{
  doc.Save(fs);
}
SelectSingleNode metodu
XmlNode sınıfına bakınız.

Validate metodu
İlk hatada çıkar. Tüm hataları listelemez. Şöyle yaparız.
XmlDocument document = ...; XmlSchemaSet schema = ...;
ValidationEventHandler h = new ValidationEventHandler(HandleValidationError);
document.Schemas = schema; //Assign schema to be used for validation
document.Validate(h);

void HandleValidationError(object sender, ValidationEventArgs ve)
{
  //Called if validation fails
}
Alanlar
Document Alanı
İlk düğüme erişim sağlar. XmlElement tipindendir.
XmlNode node = doc.DocumentElement;
PreserveWhiteSpace Alanı
Şöyle yaparız.
var xmlDocument = new XmlDocument
{
  PreserveWhitespace = true
};
XmlAttribute Sınıfı
Şu satırı dahil ederiz.

using System.Xml;
Constructor metodu
Şöyle yaparız.
XmlAttribute xsiAttr = doc.CreateAttribute("xsi", "...", "http://www.w3.org/...");
Value Alanı
Şöyle yaparız.
xsiAttr.Value = "../../../../test/Schemas/test.xsd";

Hiç yorum yok:

Yorum Gönder