Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Die Aspose.Words Document Object Model (DOM) is’n in-geheue voorstelling van’n Word dokument. Met die Aspose.Words DOM kan u die inhoud en formatering van’n Word-dokument programmaties lees, manipuleer en verander.
Hierdie afdeling beskryf die hoofklasse van die Aspose.Words DOM en hul verhoudings. Deur die Aspose.Words DOM klasse te gebruik, kan jy programmatiese toegang tot dokumentelemente en formatering verkry.
Document Voorwerp BoomWanneer’n dokument in die Aspose.Words DOM gelees word, dan word’n voorwerp boom gebou en verskillende tipes elemente van die bron dokument het hul eie DOM boom voorwerpe met verskillende eienskappe.
Wanneer Aspose.Words ‘n Word-dokument in die geheue lees, skep dit voorwerpe van verskillende tipes wat verskillende dokumentelemente verteenwoordig. Elke reeks van’n teks, paragraaf, tabel, of’n afdeling is’n knoop, en selfs die dokument self is’n knoop. Aspose.Words definieer’n klas vir elke dokument node tipe.
Die dokument boom in Aspose.Words volg die Saamgestelde Ontwerp Patroon:
Die diagram hieronder toon oorerwing tussen knoop klasse van die Aspose.Words Dokument Voorwerp Model (DOM). Die name van abstrakte klasse is in Kursief.
Node klas.
Kom ons kyk na’n voorbeeld. Die volgende prent toon’n Microsoft Word dokument met verskillende soorte inhoud.
Wanneer die bogenoemde dokument in die Aspose.Words DOM gelees word, word die boom van voorwerpe geskep, soos in die skema hieronder getoon.
Document, Section, Paragraph, Table, Shape, Run, en al die ander ellipses op die diagram is Aspose.Words voorwerpe wat elemente van die Word-dokument verteenwoordig.
Node TipeAlhoewel die Node klas voldoende is om verskillende nodusse van mekaar te onderskei, bied Aspose.Words die NodeType opsomming om sommige API take te vereenvoudig, soos die keuse van nodusse van’n spesifieke tipe.
Die tipe van elke knoop kan verkry word deur die NodeType eienskap te gebruik. Hierdie eienskap gee’n NodeType opsomming waarde. Byvoorbeeld, ‘n paragraaf knoop verteenwoordig deur die Paragraph klas gee terug NodeType.Paragraph, en’n tabel knoop verteenwoordig deur die Table klas gee terug NodeType.Table.
Die volgende voorbeeld toon hoe om’n knoop tipe te kry met behulp van die NodeType opsomming:
Aspose.Words verteenwoordig’n dokument as’n node boom, wat jou in staat stel om te navigeer tussen nodes. Hierdie afdeling beskryf hoe om die dokument boom in Aspose.Words te verken en te navigeer.
As u die voorbeelddokument oopmaak, wat vroeër in Die Document Explorer aangebied is, verskyn die knoopboom presies soos dit in Aspose.Words voorgestel word.
Die nodusse in die boom het verhoudings tussen hulle:
Die nodusse wat ander nodusse kan bevat, is afgelei van die CompositeNode klas, en alle nodusse is uiteindelik afgelei van die Node klas. Hierdie twee basis klasse bied gemeenskaplike metodes en eienskappe vir die boom struktuur navigasie en verandering.
Die volgende UML voorwerp diagram toon verskeie nodusse van die voorbeeld dokument en hul verhoudings met mekaar via die ouer, kind, en broer eienskappe:
‘n knoppie behoort altyd aan’n spesifieke dokument, selfs al is dit net geskep of verwyder uit die boom, omdat belangrike dokument-wye strukture soos style en lyste in die Document knoppie gestoor word. Dit is byvoorbeeld nie moontlik om’n Paragraph sonder’n Document te hê nie, want elke paragraaf het’n toegewyde styl wat wêreldwyd vir die dokument gedefinieer is. Hierdie reël word gebruik wanneer enige nuwe nodusse geskep word. Die toevoeging van’n nuwe Paragraph direk aan die DOM vereis’n dokument voorwerp wat aan die konstruktor.
Wanneer die skep van’n nuwe paragraaf met behulp van DocumentBuilder, die bouer het altyd’n Document klas gekoppel aan dit deur die DocumentBuilder.Document eiendom.
Die volgende kode voorbeeld toon dat wanneer die skep van enige node, ‘n dokument wat die node sal besit altyd gedefinieer:
Elke knoop het’n ouer wat deur die ParentNode eienskap gespesifiseer word. ‘n knoppie het geen ouer knoppie nie, dit wil sê, ParentNode is nul, in die volgende gevalle:
Jy kan’n knoop van sy ouer verwyder deur die Remove metode te bel.Die volgende kode voorbeeld toon hoe om toegang tot die ouer node:
Die mees doeltreffende manier om toegang tot kind nodes van a CompositeNode is via die FirstChild en LastChild eienskappe wat die eerste en laaste kind nodes, onderskeidelik terugkeer. As daar geen kind nodes, hierdie eienskappe terugkeer null.
CompositeNode
As’n knoop geen kind het nie, dan gee die ChildNodes eienskap’n leë versameling terug. Jy kan kyk of die CompositeNode bevat enige kind nodes met behulp van die HasChildNodes eiendom.
Die volgende kode voorbeeld toon hoe om onmiddellike kind nodes van a CompositeNode te tel met behulp van die enumerator wat deur die ChildNodes versameling:
Die volgende kode voorbeeld toon hoe om onmiddellike kind nodes van’n CompositeNode te tel met behulp van geïndekseerde toegang:
Jy kan die knoop wat onmiddellik voorafgaan of volg’n bepaalde knoop met behulp van die PreviousSibling en NextSibling eienskappe, onderskeidelik. As’n knoop die laaste kind van sy ouer is, dan is die NextSibling eienskap null. Omgekeerd, as die knoop die eerste kind van sy ouer is, is die PreviousSibling eienskap null.
Die volgende kode voorbeeld toon hoe om doeltreffend te besoek al direkte en indirekte kind nodes van’n saamgestelde node:
Tot dusver het ons die eienskappe bespreek wat een van die basis tipes – Node of CompositeNode teruggee. Maar soms is daar situasies waar jy dalk waardes moet gooi na’n spesifieke knoop klas, soos Run of Paragraph. Dit wil sê, jy kan nie heeltemal wegkom van giet wanneer jy met die Aspose.Words DOM werk nie, wat saamgestel is.
Om die behoefte aan giet te verminder, die meeste Aspose.Words klasse bied eienskappe en versamelings wat sterk getik toegang bied. Daar is drie basiese patrone van getikte toegang:
Getypeerde eienskappe is bloot nuttige kortpaaie wat soms makliker toegang bied as generiese eienskappe wat van Node.ParentNode en CompositeNode.FirstChild geërf word.
Die volgende kode voorbeeld toon hoe om getik eienskappe gebruik om toegang tot nodes van die dokument boom:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.