Framesets

Framesets

Ten przewodnik pokazuje, jak odczytać starszą strukturę stron z ramkami w Aspose.Words FOSS dla .NET, używając klas Frameset i FramesetCollection, które reprezentują stronę z ramkami oraz jej podrzędne ramki, gdy struktura dokumentu modeluje zestaw ramek.


Klasa Frameset

Frameset reprezentuje stronę z ramkami lub pojedynczą ramkę na stronie z ramkami. Document.Frameset zwraca korzeń Frameset dla dokumentu, który został wczytany z ramkowanej struktury HTML. FrameDefaultUrl (string) jest adresem URL strony internetowej lub nazwą pliku dokumentu wyświetlanego w tej ramce. IsFrameLinkToFile (bool) wskazuje, czy wartość FrameDefaultUrl jest zasobem zewnętrznym, do którego odwołuje się ramka. ChildFramesets zwraca FramesetCollection podrzędnych ramek i stron z ramkami zagnieżdżonych pod tą.


Iterowanie podrzędnych ramek przy użyciu FramesetCollection

FramesetCollection implementuje IEnumerable<Frameset>, więc GetEnumerator() obsługuje iterację foreach po ramkach, które zawiera. Count podaje liczbę ramek lub stron z ramkami w kolekcji. Połącz Count i iterację z ChildFramesets, aby rekurencyjnie przechodzić zagnieżdżoną strukturę stron z ramkami — każda podrzędna Frameset może sama zawierać kolejne ChildFramesets.


Wskazówki i najlepsze praktyki

  • Sprawdź Document.Frameset pod kątem null przed odczytaniem jego właściwości — większość dokumentów nie jest stronami ramkowymi, więc ta właściwość jest wypełniana tylko wtedy, gdy źródłowy HTML używał układu ramek.
  • Przeglądaj ChildFramesets rekurencyjnie (zamiast zakładać płaską, jednowarstwową strukturę), ponieważ strona ramek może zawierać kolejne strony ramek wewnątrz swoich ramek.
  • Użyj IsFrameLinkToFile, aby odróżnić ramkę, która odwołuje się do zewnętrznego zasobu, od tej, która osadza nazwę pliku dokumentu bezpośrednio w FrameDefaultUrl.
  • FramesetCollection.Count to tania metoda sprawdzenia, czy Frameset ma jakiekolwiek elementy potomne przed iteracją.

Typowe problemy

ProblemPrzyczynaRozwiązanie
Document.Frameset jest nullDokument nie został wczytany ze źródła HTML opartego na ramkachPotwierdź, że dokument źródłowy rzeczywiście używał ramek HTML, zanim polegasz na tej właściwości
Iterowanie ChildFramesets pomija zagnieżdżone ramkiIterowano tylko najwyższy poziomRekurencyjnie przechodź do każdego dziecka Frameset.ChildFramesets, zamiast iterować tylko jeden poziom w dół
Nie można stwierdzić, czy ramka wskazuje na plik, czy na URLIsFrameLinkToFile nie został sprawdzonyOdczytaj IsFrameLinkToFile wraz z FrameDefaultUrl, aby wiedzieć, jak rozwiązać cel

FAQ

Czym jest Frameset w Aspose.Words FOSS dla .NET?

Reprezentuje stronę ramek lub pojedynczą ramkę na stronie ramek, udostępnioną jako Document.Frameset dla dokumentów ładowanych ze źródła HTML opartego na ramkach.

Jak wylistować wszystkie ramki w zestawie ramek?

Iteruj Frameset.ChildFramesets (a FramesetCollection) przy użyciu GetEnumerator() / foreach, rekurencyjnie wchodząc w każde dziecko, które samo posiada dalsze ChildFramesets.

Jak sprawdzić, ile ramek potomnych ma zestaw ramek?

Odczytaj FramesetCollection.Count z jego właściwości ChildFramesets.

Co IsFrameLinkToFile mówi?

Czy strona internetowa lub nazwa pliku dokumentu w FrameDefaultUrl jest zasobem zewnętrznym, do którego ramka jest podłączona.


API Reference Podsumowanie

Klasa/MetodaOpis
Document.FramesetGłówny Frameset dla dokumentu załadowanego ze źródła HTML opartego na ramkach
FramesetReprezentuje stronę z ramkami lub pojedynczą ramkę na stronie z ramkami
Frameset.FrameDefaultUrlAdres URL strony internetowej lub nazwa pliku dokumentu wyświetlanego w ramce
Frameset.IsFrameLinkToFileCzy FrameDefaultUrl jest zewnętrznym zasobem linkowanym
Frameset.ChildFramesetsFramesetCollection podrzędnych ramek i stron ramek
FramesetCollectionZbiór Frameset instancji; Count, GetEnumerator

Zobacz także

 Polski