Framesets
Framesets
Tento průvodce ukazuje, jak číst starší strukturu stránek s rámečky v Aspose.Words FOSS pro .NET pomocí tříd Frameset a FramesetCollection, které představují stránku s rámečky a její podřízené rámečky, když struktura dokumentu modeluje sadu rámečků.
Třída Frameset
Frameset představuje stránku s rámečky nebo jediný rámec na stránce s rámečky. Document.Frameset vrací kořen Frameset pro dokument, který byl načten ze struktury HTML s rámečky. FrameDefaultUrl (string) je URL webové stránky nebo název souboru dokumentu zobrazený v tomto rámci. IsFrameLinkToFile (bool) udává, zda je hodnota FrameDefaultUrl externím zdrojem, na který rámec odkazuje. ChildFramesets vrací FramesetCollection podřízených rámců a stránek s rámečky vložených pod tento.
Iterace podřízených rámců pomocí FramesetCollection
FramesetCollection implementuje IEnumerable<Frameset>, takže GetEnumerator() podporuje iteraci foreach přes rámce, které obsahuje. Count uvádí počet rámců nebo stránek s rámečky v kolekci. Kombinujte Count a iteraci s ChildFramesets k procházení vnořené struktury stránek s rámečky rekurzivně — každý podřízený Frameset může sám obsahovat další ChildFramesets.
Tipy a osvědčené postupy
- Zkontrolujte
Document.Framesetnanullpřed načtením jeho vlastností — většina dokumentů není stránkami s rámečky, takže tato vlastnost je vyplněna pouze tehdy, když zdrojový HTML použil rozvržení s rámečky. - Procházejte
ChildFramesetsrekurzivně (namísto předpokládání ploché jednorozměrné struktury), protože stránka s rámečky může vnořovat další stránky s rámečky uvnitř svých rámečků. - Použijte
IsFrameLinkToFilek rozlišení rámce, který odkazuje na externí zdroj, od rámce, který vloží název souboru dokumentu přímo doFrameDefaultUrl. FramesetCollection.Countje levný způsob, jak zkontrolovat, zdaFramesetmá nějaké podřízené položky, před iterací.
Běžné problémy
| Problém | Příčina | Oprava |
|---|---|---|
Document.Frameset je null | Dokument nebyl načten ze zdroje HTML založeného na rámcích | Potvrďte, že zdrojový dokument skutečně použil HTML rámce, než se spolehnete na tuto vlastnost |
Iterace ChildFramesets opomíjí vnořené rámce | Byla iterována pouze nejvyšší úroveň | Rekurzivně procházet každé dítě Frameset.ChildFramesets místo iterace jen o úroveň hlouběji |
| Nelze zjistit, zda rámec odkazuje na soubor nebo na URL | IsFrameLinkToFile nebyl zkontrolován | Přečtěte IsFrameLinkToFile spolu s FrameDefaultUrl, abyste věděli, jak vyřešit cíl |
FAQ
Co je Frameset v Aspose.Words FOSS pro .NET?
Zastupuje stránku s rámečky nebo jediný rámec na stránce s rámečky, vystavený jako Document.Frameset pro dokumenty načtené ze zdroje HTML založeného na rámečcích.
Jak mohu vypsat všechny rámečky ve framesetu?
Iterujte Frameset.ChildFramesets (a FramesetCollection) pomocí GetEnumerator() / foreach, rekurzivně vstupujte do každého potomka, který má další ChildFramesets.
Jak zjistím, kolik podřízených rámců má Frameset?
Přečtěte FramesetCollection.Count na jeho vlastnosti ChildFramesets.
Co vám IsFrameLinkToFile říká?
Zda je webová stránka nebo název souboru dokumentu v FrameDefaultUrl externím zdrojem, na který je rámec odkazován.
API Reference Shrnutí
| Třída/Metoda | Popis: |
|---|---|
Document.Frameset | Kořen Frameset pro dokument načtený ze zdroje HTML založeného na rámcích |
Frameset | Zastupuje stránku srámečky nebo jednotlivý rámec na stránce srámečky |
Frameset.FrameDefaultUrl | URL webové stránky nebo název souboru dokumentu zobrazený v rámu |
Frameset.IsFrameLinkToFile | Zda je FrameDefaultUrl externím odkazovaným zdrojem |
Frameset.ChildFramesets | FramesetCollection dětských rámců a stránek rámců |
FramesetCollection | Kolekce Frameset instancí; Count, GetEnumerator |