Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
• Aspose.Words Document Object Model (DOM) představuje dokument Word. • Aspose.Words DOM umožňuje programově číst, manipulovat a upravovat obsah a formátování dokumentu Word.
Tento oddíl popisuje hlavní třídy Aspose.Words DOM a jejich vztahy. Použitím Aspose.Words DOM třídy, můžete získat programový přístup k prvkům dokumentů a formátování.
Document Strom objektuPři čtení dokumentu do Aspose.Words DOM,? pak je postaven strom objektů a různé typy prvků zdrojového dokumentu mají vlastní DOM objekty stromu s různými vlastnostmi.
Kdy? Aspose.Words čte dokument Word do paměti, vytváří objekty různých typů, které představují různé prvky dokumentu. Každý běh textu, odstavec, tabulka nebo sekce je uzel, a dokonce i samotný dokument je uzel. Aspose.Words definuje třídu pro každý typ uzel dokumentu.
Strom dokumentu Aspose.Words následuje vzor složeného návrhu:
Níže uvedený diagram ukazuje dědictví mezi třídami nódu Aspose.Words Document Object Model (DOM). Jména abstraktních tříd jsou v kurzívě.
Node třída.
Podívejme se na příklad. Následující obrázek ukazuje Microsoft Word dokument s různými typy obsahu.
Při čtení výše uvedeného dokumentu do Aspose.Words DOM, je vytvořen strom objektů, jak je znázorněn v schématu níže.
Document, Section, Paragraph, Table, Shape, Run, a všechny ostatní elipsy na diagramu jsou Aspose.Words objekty, které představují prvky dokumentu Word.
Node TypI když Node třída stačí k rozlišení různých uzlů od sebe, Aspose.Words poskytuje NodeType počet pro zjednodušení některých API úkoly, jako je výběr uzlů konkrétního typu.
Typ každého uzlu lze získat pomocí NodeType majetek. Tato vlastnost vrací NodeType hodnota výčtu. Například odstavec uzel zastoupený Paragraph třída vrací NodeType.Paragraph, a stolní uzel zastoupený Table třída vrací NodeType.Table.
Následující příklad ukazuje, jak získat typ nódu pomocí NodeType číslice:
Aspose.Words představuje dokument jako uzel stromu, který vám umožní navigaci mezi uzly. Tato sekce popisuje, jak prozkoumat a procházet strom dokumentů v Aspose.Words.
Když otevřete vzorový dokument, který byl předložen dříve, v dokumentu Explorer, uzel se objeví přesně tak, jak je zastoupen v Aspose.Words.
Uzely na stromě mezi nimi mají vztah:
Uzely, které mohou obsahovat jiné uzly odvozeny z CompositeNode třída, a všechny uzly nakonec vyplývá z Node třída. Tyto dvě základní třídy poskytují společné metody a vlastnosti pro navigaci a modifikaci struktury stromu.
Následující schéma UML objektu zobrazuje několik uzlů výběrového dokumentu a jejich vzájemné vztahy prostřednictvím vlastností rodičů, dítěte a sourozenců:
Uzel vždy patří k určitému dokumentu, i když byl jen vytvořen nebo odstraněn ze stromu, protože životně důležité struktury, jako jsou styly a seznamy jsou uloženy v Document Uzel. Například, není možné mít Paragraph bez Document protože každý odstavec má přiřazený styl, který je pro dokument definován globálně. Toto pravidlo se používá při vytváření nových uzlů. Přidání nového Paragraph přímo do DOM vyžaduje dokument objekt předán konstruktéru.
Při vytváření nového odstavce DocumentBuilder, Stavitel má vždy Document třída spojená s ní prostřednictvím DocumentBuilder.Document majetek.
Následující příklad kódu ukazuje, že při vytváření jakéhokoliv uzlu je vždy definován dokument, který bude vlastnit uzel:
Každý uzel má rodiče určené ParentNode majetek. Uzel nemá rodičovský uzel. ParentNode je nulová, v těchto případech:
Můžete odstranit uzel z jeho rodiče voláním Remove metoda. Následující příklad kódu ukazuje, jak přistupovat k rodičovskému uzelu:
Nejúčinnější způsob, jak se dostat do dětských uzlů CompositeNode je přes FirstChild a LastChild vlastnosti, které vrátí první a poslední dětské uzly, resp. Pokud nejsou žádné dětské uzly, tyto vlastnosti se vrátí null.
CompositeNode také poskytuje GetChildNodes metoda umožňující indexovaný nebo číselný přístup do dětských uzlů. • ChildNodes vlastnost je živá sbírka uzlů, což znamená, že pokaždé, když je dokument změněn, jako když jsou uzly odstraněny nebo přidány, ChildNodes sběr je automaticky aktualizován.
Pokud uzel nemá dítě, pak ChildNodes nemovitost vrací prázdnou sbírku. Můžete zkontrolovat, zda CompositeNode obsahuje jakékoli dětské uzliny pomocí HasChildNodes majetek.
Následující příklad kódu ukazuje, jak vyjmenovat okamžité dětské uzly CompositeNode pomocí čitatele poskytnutého ChildNodes sběr:
Následující příklad kódu ukazuje, jak vyjmenovat okamžité dětské uzly CompositeNode pomocí indexovaného přístupu:
Můžete získat uzel, který okamžitě předchází nebo následuje konkrétní uzel pomocí PreviousSibling a NextSibling vlastnosti, resp. Pokud uzel je poslední dítě svého rodiče, pak NextSibling majetek je null. Naopak, pokud je uzel prvním dítětem svého rodiče, PreviousSibling majetek je null.
Následující příklad kódu ukazuje, jak efektivně navštívit všechny přímé a nepřímé dětské uzly kompozitního uzlu:
Doposud jsme diskutovali o vlastnostech, které vrací jeden ze základních typů Node nebo CompositeNode. Ale někdy jsou situace, kdy byste mohli hodit hodnoty do určité třídy uzlů, jako například Run nebo Paragraph. To znamená, že nemůžete zcela uniknout od castingu při práci s Aspose.Words DOM, což je složené.
Aby se snížila potřeba odlitků, většina Aspose.Words třídy poskytují vlastnosti a sbírky, které poskytují silně typed přístup. Existují tři základní vzorce zadaného přístupu:
Typované vlastnosti jsou pouze užitečné zkratky, které někdy poskytují jednodušší přístup než obecné vlastnosti zděděné Node.ParentNode a CompositeNode.FirstChild.
Následující příklad kódu ukazuje, jak použít zadané vlastnosti pro přístup do uzlů stromu dokumentu:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.