Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
XML Belgesi Nesne Modeli (DOM) sınıfı, bir XML belgesinin bellek içi gösterimidir. DOM, bir XML belgesini program aracılığıyla okumanıza, işlemenize ve değiştirmenize olanak tanır. XmlReader sınıfı da XML okur; ancak önbelleğe alınmamış, salt iletilen, salt okunur erişim sağlar. Başka bir deyişle, bir öğenin özniteliğinin veya içeriğinin değerlerini düzenleme ya da XmlReader ile düğüm ekleme ve kaldırma özelliği yoktur. Düzenleme, DOM'un birincil işlevidir. Gerçek XML verileri bir dosyada veya başka bir nesneden geldiğinde doğrusal bir şekilde depolanırken, XML verilerinin bellekte temsil edilme yolu yaygın ve yapılandırılmış bir şekildedir. Xml verileri aşağıdadır.
Veri Girişi
<?xml version="1.0"?>
<books>
<book>
<author>Carson</author>
<price format="dollar">31.95</price>
<pubdate>05/01/2001</pubdate>
</book>
<pubinfo>
<publisher>MSPress</publisher>
<state>WA</state>
</pubinfo>
</books>
Aşağıdaki çizimde, bu XML verileri DOM yapısına okunduğunda belleğin nasıl yapılandırıldığı gösterilmektedir.
XML belge yapısı
XML belge yapısı içinde, bu çizimdeki her daire XmlNode nesnesi olarak adlandırılan bir düğümü temsil eder. XmlNode nesnesi, DOM ağacındaki temel nesnedir. XmlNode'un kapsamını genişleten XmlDocument sınıfı, belge üzerinde bir bütün olarak işlem gerçekleştirme yöntemlerini (örneğin, belleğe yükleme veya XML'yi bir dosyaya kaydetme) destekler. Ayrıca XmlDocument , XML belgesinin tamamında düğümleri görüntülemek ve işlemek için bir araç sağlar. Hem XmlNode hem de XmlDocument'ın performans ve kullanılabilirlik geliştirmeleri vardır ve şu yöntemlere ve özelliklere sahiptir:
Öğe düğümleri, varlık başvuru düğümleri gibi DOM'a özgü düğümlere erişin ve bunları değiştirin.
Bir öğe düğümündeki metin gibi düğümün içerdiği bilgilere ek olarak düğümlerin tamamını alın.
Düğüm nesneleri, temel ve iyi tanımlanmış niteliklerin yanı sıra bir dizi yöntem ve özelliğe sahiptir. Bu özelliklerden bazıları şunlardır:
Düğümler tek bir üst düğüme sahiptir ve üst düğüm doğrudan bunların üzerinde bir düğüm olur. Üst öğe içermeyen tek düğüm, belge köküdür, en üst düzey düğümdür ve belgenin kendisini ve belge parçalarını içerir.
Çoğu düğümün, doğrudan altında bulunan birden çok alt düğümü olabilir. Alt düğümlere sahip olabilecek düğüm türlerinin listesi aşağıdadır.
belge
DocumentFragment
Varlık Referansı
Öğe
Öznitelik
XmlDeclaration, Notation, Entity, CDATASection, Text, Comment, ProcessingInstruction ve DocumentType düğümlerinin alt düğümleri yoktur.
Diyagramda kitap ve pubinfo düğümleriyle temsil edilen aynı düzeydeki düğümler, kardeş düğümlerdir.
DOM'un özelliklerinden biri öznitelikleri işleme şeklidir. Öznitelikler üst, alt ve kardeş ilişkilerin parçası olan düğümler değildir. Öznitelikler, öğe düğümünün bir özelliği olarak kabul edilir ve bir ad ve değer çiftlerinden oluşur. Örneğin, format="dollar
öğesiyle price
ilişkilendirilmiş " öğesini içeren XML verileriniz varsa, format
sözcüğü addır ve format
özniteliğin değeri dollar
'dir.
format="dollar"
düğümünün özniteliğini almak için, imleç öğe düğümünde bulunduğunda price
yöntemini çağırırsınız. Daha fazla bilgi için bkz. DOM'da Özniteliklere Erişme.
XML belleğe okundukça düğümler oluşturulur. Ancak, tüm düğümler aynı türde değildir. XML'deki bir öğenin işleme yönergesinden farklı kuralları ve söz dizimi vardır. Bu nedenle, çeşitli veriler okundukça her düğüme bir düğüm türü atanır. Bu düğüm türü, düğümün özelliklerini ve işlevselliğini belirler.
Bellekte oluşturulan düğüm türleri hakkında daha fazla bilgi için bkz. XML Düğümleri Türleri. Düğüm ağacında oluşturulan nesneler hakkında daha fazla bilgi için bkz. Nesne Hiyerarşisini XML Verilerine Eşleme.
Microsoft, XML belgesiyle çalışmayı kolaylaştırmak için World Wide Web Consortium (W3C) DOM Düzey 1 ve Düzey 2'de bulunan API'leri genişletmiştir. W3C standartlarını tam olarak desteklerken, ek sınıflar, yöntemler ve özellikler W3C XML DOM kullanılarak yapılabileceklerin ötesine işlevsellik ekler. Yeni sınıflar ilişkisel verilere erişmenizi sağlayarak ADO.NET verilerle eşitleme yöntemleri sağlar ve verileri aynı anda XML olarak gösterir. Daha fazla bilgi için bkz. DataSet'i XmlDataDocument ile Eşitleme.
DOM, XML verilerini belleğe okuyarak yapısını değiştirmek, düğüm eklemek veya kaldırmak ya da bir öğenin içerdiği metinde olduğu gibi bir düğüm tarafından tutulan verileri değiştirmek için kullanışlıdır. Ancak, diğer senaryolarda DOM'dan daha hızlı olan diğer sınıflar kullanılabilir. XML'ye hızlı, önbelleğe alınmamış, yalnızca ileri akış erişimi için XmlReader ve XmlWriter kullanın. İmleç modeli ve XPath ile rastgele erişime ihtiyacınız varsa XPathNavigator sınıfını kullanın.