Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words Belge Nesne Modeli (DOM), bir Word belgesinin bellek içi temsilidir. Aspose.Words DOM, bir Word belgesinin içeriğini ve biçimlendirmesini programlı olarak okumanıza, değiştirmenize ve değiştirmenize olanak tanır.
Bu bölümde Aspose.Words DOM’in ana sınıfları ve ilişkileri açıklanmaktadır. Aspose.Words DOM sınıflarını kullanarak belge öğelerine ve biçimlendirmeye programlı erişim elde edebilirsiniz.
Bir belge Aspose.Words DOM ‘e okunduğunda, bir nesne ağacı oluşturulur ve kaynak belgenin farklı türdeki öğelerinin çeşitli özelliklere sahip kendi DOM ağaç nesneleri vardır.
Aspose.Words bir Word belgesini belleğe okuduğunda, çeşitli belge öğelerini temsil eden farklı türde nesneler oluşturur. Bir metnin, paragrafın, tablonun veya bölümün her çalışması bir düğümdür ve belgenin kendisi bile bir düğümdür. Aspose.Words her belge düğümü türü için bir sınıf tanımlar.
Aspose.Words içindeki belge ağacı Bileşik Tasarım Desenini izler:
Aşağıda verilen diyagram, Aspose.Words Belge Nesne Modelinin (DOM) düğüm sınıfları arasındaki kalıtımı göstermektedir. Soyut sınıfların adları italiktir.
Node sınıfından devralınmamış olarak gösterilmez.
Bir örneğe bakalım. Aşağıdaki resimde farklı içerik türlerine sahip bir Microsoft Word belgesi gösterilmektedir.
Yukarıdaki belgeyi Aspose.Words DOM ‘e okurken, aşağıdaki şemada gösterildiği gibi nesneler ağacı oluşturulur.
Document, Section, Paragraph, Table, Shape, Run, ve diyagramdaki diğer tüm elipsler, Word belgesinin öğelerini temsil eden Aspose.Words nesnelerdir.
Node Türü alınNode sınıfı, farklı düğümleri birbirinden ayıracak kadar yeterli olsa da, Aspose.Words, belirli bir türdeki düğümleri seçmek gibi bazı API görevleri basitleştirmek için NodeType numaralandırmasını sağlar.
Her düğümün türü NodeType özelliği kullanılarak elde edilebilir. Bu özellik bir NodeType enumeration value. For example, a paragraph node represented by the Paragraph class returns NodeType.Paragraph ve Table class returns NodeType.Table ile temsil edilen bir tablo düğümü döndürür.
Aşağıdaki örnek, NodeType numaralandırmasını kullanarak bir düğüm türünün nasıl alınacağını gösterir:
Aspose.Words bir belgeyi düğümler arasında gezinmenizi sağlayan düğüm ağacı olarak temsil eder. Bu bölümde, Aspose.Words içindeki belge ağacının nasıl keşfedileceği ve gezinileceği açıklanmaktadır.
Daha önce Belge Gezgini’nde sunulan örnek belgeyi açtığınızda, düğüm ağacı tam olarak Aspose.Words içinde temsil edildiği gibi görünür.
Ağaçtaki düğümlerin aralarında ilişkiler vardır:
Diğer düğümleri içerebilen düğümler CompositeNode sınıfından türetilir ve sonuçta tüm düğümler Node sınıfından türetilir. Bu iki temel sınıf, ağaç yapısında gezinme ve değişiklik için ortak yöntemler ve özellikler sağlar.
Aşağıdaki UML nesne diyagramı, örnek belgenin birkaç düğümünü ve bunların üst, alt ve kardeş özellikleri aracılığıyla birbirleriyle ilişkilerini gösterir:
Bir düğüm, yeni oluşturulmuş veya ağaçtan kaldırılmış olsa bile her zaman belirli bir belgeye aittir, çünkü stiller ve listeler gibi hayati belge çapında yapılar Document düğümünde saklanır. Örneğin, her paragrafın belge için genel olarak tanımlanmış atanmış bir stili olduğundan, Document olmadan Paragraph olması mümkün değildir. Bu kural, yeni düğümler oluştururken kullanılır. Doğrudan DOM ‘ye yeni bir Paragraph eklemek, yapıcıya iletilen bir belge nesnesi gerektirir.
DocumentBuilder kullanarak yeni bir paragraf oluştururken, oluşturucunun her zaman DocumentBuilder.Document özelliği aracılığıyla kendisine bağlı bir Document sınıfı vardır.
Aşağıdaki kod örneği, herhangi bir düğüm oluştururken, düğüme sahip olacak bir belgenin her zaman tanımlandığını gösterir:
Her düğümün ParentNode özelliği tarafından belirtilen bir üst öğesi vardır. Bir düğümün ana düğümü yoktur, yani aşağıdaki durumlarda ParentNode null olur:
Remove yöntemini çağırarak bir düğümü üst öğesinden kaldırabilirsiniz.Aşağıdaki kod örneği, üst düğüme nasıl erişileceğini gösterir:
Bir CompositeNode ‘nin alt düğümlerine erişmenin en etkili yolu, sırasıyla ilk ve son alt düğümleri döndüren FirstChild ve LastChild özellikleridir. Alt düğüm yoksa, bu özellikler null döndürür.
CompositeNode
Bir düğümün alt öğesi yoksa, ChildNodes özelliği boş bir koleksiyon döndürür. CompositeNode öğesinin HasChildNodes özelliğini kullanarak herhangi bir alt düğüm içerip içermediğini kontrol edebilirsiniz.
Aşağıdaki kod örneği, ChildNodes koleksiyonu tarafından sağlanan numaralandırıcıyı kullanarak bir CompositeNode öğesinin hemen alt düğümlerinin nasıl numaralandırılacağını gösterir:
Aşağıdaki kod örneği, dizine eklenmiş erişimi kullanarak bir CompositeNode öğesinin hemen alt düğümlerinin nasıl numaralandırılacağını gösterir:
Belirli bir düğümden hemen önce gelen veya onu izleyen düğümü sırasıyla PreviousSibling ve NextSibling özelliklerini kullanarak elde edebilirsiniz. Bir düğüm üst öğesinin son alt öğesiyse, NextSibling özelliği null olur. Tersine, düğüm üst öğesinin ilk alt öğesiyse, PreviousSibling özelliği null olur.
Aşağıdaki kod örneği, bir bileşik düğümün tüm doğrudan ve dolaylı alt düğümlerinin nasıl verimli bir şekilde ziyaret edileceğini gösterir:
Şimdiye kadar, temel türlerden birini döndüren özellikleri tartıştık – Node veya CompositeNode. Ancak bazen Run veya Paragraph gibi belirli bir düğüm sınıfına değer atmanız gerekebilecek durumlar olabilir. Yani bileşik olan Aspose.Words DOM ile çalışırken dökümden tamamen kurtulamazsınız.
Döküm gereksinimini azaltmak için çoğu Aspose.Words sınıfı, kesin olarak yazılan erişim sağlayan özellikler ve koleksiyonlar sağlar. Yazılı erişimin üç temel modeli vardır:
Yazılan özellikler, bazen Node.ParentNode ve CompositeNode.FirstChild ‘dan devralınan genel özelliklerden daha kolay erişim sağlayan yalnızca kullanışlı kısayollardır.
Aşağıdaki kod örneği, belge ağacının düğümlerine erişmek için yazılan özelliklerin nasıl kullanılacağını gösterir:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.