SORU
9 EKİM 2009, Cuma


XDocument veya XmlDocument

Ben şimdi öğrenme XmlDocument ama ben daha önce karşılaştım XDocument ve ben denemek için arama farkı veya avantajları onları bulamıyorum yararlı bir şey, lütfen söyle bana neden bir başka ?

CEVAP
9 EKİM 2009, Cuma


Kullanıyorsanız .NET 3.0 veya daha düşük sürümvarXmlDocument kullanmak için klasik DOM API aka. Aynı şekilde bu bekler olan diğer bazı API vardır bulabilirsiniz.

Eğer seçim olursa, ancak, iyice XDocument XML aka ETMENİZ kullanmanızı tavsiye ederim.çokbasit belgeler oluşturmak ve bunları işlemek için. Örneğin, arasındaki fark:

XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("root");
root.SetAttribute("name", "value");
XmlElement child = doc.CreateElement("child");
child.InnerText = "text node";
root.AppendChild(child);
doc.AppendChild(root);

ve

XDocument doc = new XDocument(
    new XElement("root",
                 new XAttribute("name", "value"),
                 new XElement("child", "text node")));

Ad oldukça kolay gördüğüm başka bir XML API, XML aksine bu SERİ ile çalışmak

XNamespace ns = "http://somewhere.com";
XElement element = new XElement(ns   "elementName");
// etc

XML bu SERİ de gerçekten SERİ ile iyi çalışır - inşaat modeli alt unsurları dizileri çok kolay: öğeleri oluşturmak için izin verir

// Customers is a List<Customer>
XElement customersElement = new XElement("customers",
    customers.Select(c => new XElement("customer",
        new XAttribute("name", c.Name),
        new XAttribute("lastSeen", c.LastOrder)
        new XElement("address",
            new XAttribute("town", c.Town),
            new XAttribute("firstline", c.Address1),
            // etc
    ));

Genel SERİ stili ile uyuyor çok daha açıklayıcı.

Şimdi Brannon belirtildiği gibi, bu bellek API yerine streaming olanlar XStreamingElement tembel çıktı desteklemesine rağmen). XmlReader XmlWriter XML akışı içinde normal yollardan .NET, ancak bir dereceye kadar tüm API karıştırabilirsiniz. Örneğin, bir akış büyük belge ama kullanmak ETMENİZ için XML ile konumlandırma XmlReader başlangıç unsuru, bir okuma XElement ve işleme, daha sonra devam etmek için bir sonraki elemanı vb. Bu teknik hakkında çeşitli blog yazıları, here's one I found with a quick search vardır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • girleffect

    girleffect

    20 Mayıs 2008