Framesets

Framesets

Dieser Leitfaden zeigt, wie man die Legacy-Frames-Seitenstruktur in Aspose.Words FOSS für .NET mithilfe der Klassen Frameset und FramesetCollection liest, die eine Frames-Seite und deren untergeordnete Frames darstellen, wenn die Dokumentenstruktur ein Set von Frames modelliert.


Die Frameset-Klasse

Frameset stellt eine Frames-Seite oder einen einzelnen Frame auf einer Frames-Seite dar. Document.Frameset liefert das Wurzel-Frameset für ein Dokument, das aus einer gerahmten HTML-Struktur geladen wurde. FrameDefaultUrl (string) ist die URL der Webseite oder der Dateiname des Dokuments, das in diesem Frame angezeigt wird. IsFrameLinkToFile (bool) gibt an, ob der FrameDefaultUrl-Wert eine externe Ressource ist, auf die der Frame verlinkt. ChildFramesets liefert ein FramesetCollection der untergeordneten Frames und Frames-Seiten, die in diesem verschachtelt sind.


Iterieren von Kind-Frames mit FramesetCollection

FramesetCollection implementiert IEnumerable<Frameset>, sodass GetEnumerator() die foreach-Iteration über die enthaltenen Frames unterstützt. Count gibt die Anzahl der Frames oder Frames-Seiten in der Sammlung zurück. Kombiniere Count und Iteration mit ChildFramesets, um eine verschachtelte Frames-Seitenstruktur rekursiv zu durchlaufen – jedes Kind-Frameset kann selbst weitere ChildFramesets enthalten.


Tipps und bewährte Vorgehensweisen

  • Prüfen Sie Document.Frameset auf null, bevor Sie dessen Eigenschaften lesen — die meisten Dokumente sind keine Frames-Seiten, daher wird diese Eigenschaft nur gesetzt, wenn die Quell-HTML ein Frames-Layout verwendet hat.
  • Durchlaufen Sie ChildFramesets rekursiv (anstatt eine flache, einstufige Struktur anzunehmen), da eine Frames-Seite weitere Frames-Seiten innerhalb ihrer Frames verschachteln kann.
  • Verwenden Sie IsFrameLinkToFile, um einen Frame, der auf eine externe Ressource verlinkt, von einem zu unterscheiden, der einen Dokumentdateinamen direkt in FrameDefaultUrl einbettet.
  • FramesetCollection.Count ist eine kostengünstige Methode, um zu prüfen, ob ein Frameset Kinder hat, bevor man iteriert.

Häufige Probleme

ProblemUrsacheLösung
Document.Frameset ist nullDas Dokument wurde nicht von einer frames-basierten HTML-Quelle geladenStellen Sie sicher, dass das Quelldokument tatsächlich HTML-Frames verwendet hat, bevor Sie sich auf diese Eigenschaft verlassen
Das Durchlaufen von ChildFramesets übersieht verschachtelte FramesNur die oberste Ebene wurde durchlaufenRekuriere in jedes Kind Frameset.ChildFramesets, anstatt nur eine Ebene tief zu iterieren
Kann nicht erkennen, ob ein Frame auf eine Datei oder eine URL zeigtIsFrameLinkToFile wurde nicht geprüftLese IsFrameLinkToFile zusammen mit FrameDefaultUrl, um zu wissen, wie das Ziel aufgelöst werden soll

FAQ

Was ist ein Frameset in Aspose.Words FOSS für .NET?

Es stellt eine Frames-Seite oder einen einzelnen Frame auf einer Frames-Seite dar, der als Document.Frameset für Dokumente bereitgestellt wird, die aus einer frames-basierten HTML-Quelle geladen werden.

Wie liste ich alle Frames in einem Frameset auf?

Iteriere Frameset.ChildFramesets (ein FramesetCollection) mit GetEnumerator() / foreach und gehe rekursiv in jedes Kind, das selbst weitere ChildFramesets hat.

Wie erfahre ich, wie viele Kind-Frames ein Frameset hat?

Lese FramesetCollection.Count auf seiner ChildFramesets-Eigenschaft.

Was sagt dir IsFrameLinkToFile?

Ob die Webseite oder der Dokumentdateiname in FrameDefaultUrl eine externe Ressource ist, mit der das Frame verlinkt ist.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
Document.FramesetRoot Frameset für ein Dokument, das aus einer frames-basierten HTML-Quelle geladen wurde
FramesetStellt eine Frames-Seite oder einen einzelnen Frame auf einer Frames-Seite dar.
Frameset.FrameDefaultUrlWebseiten-URL oder Dokumentdateiname, die im Frame angezeigt wird
Frameset.IsFrameLinkToFileOb FrameDefaultUrl eine extern verlinkte Ressource ist
Frameset.ChildFramesetsFramesetCollection von untergeordneten Frames und Frame-Seiten
FramesetCollectionSammlung von Frameset-Instanzen; Count, GetEnumerator

Siehe auch

 Deutsch