Framesets
Framesets
このガイドでは、Aspose.Words FOSS for .NET におけるレガシーフレームページ構造の読み取り方法を、Frameset と FramesetCollection クラスを使用して示します。これらのクラスは、ドキュメントの構造がフレームの集合をモデル化している場合に、フレームページとその子フレームを表します。
Frameset クラス
Frameset はフレームページまたはフレームページ上の単一フレームを表します。Document.Frameset は、フレーム化された HTML 構造からロードされたドキュメントのルート Frameset を返します。FrameDefaultUrl(string)は、そのフレームに表示されるウェブページの URL またはドキュメントファイル名です。IsFrameLinkToFile(bool)は、FrameDefaultUrl の値がフレームがリンクする外部リソースであるかどうかを示します。ChildFramesets は、このフレームの下にネストされた子フレームおよびフレームページの FramesetCollection を返します。
FramesetCollection を使用した子フレームのイテレーション
FramesetCollection は IEnumerable<Frameset> を実装しているため、GetEnumerator() は含まれるフレームに対する foreach イテレーションをサポートします。Count はコレクション内のフレームまたはフレームページの数を報告します。Count とイテレーションを ChildFramesets と組み合わせることで、ネストされたフレームページ構造を再帰的にたどることができます — 各子 Frameset はさらに ChildFramesets を保持することができます。
ヒントとベストプラクティス
- プロパティを読む前に、
Document.Framesetでnullがあるか確認してください — ほとんどのドキュメントはフレームページではないため、このプロパティはソースHTMLがフレームレイアウトを使用した場合にのみ設定されます。 ChildFramesetsを再帰的に走査してください(フラットで1レベルの構造と仮定しないで)フレームページは、そのフレーム内にさらにフレームページを入れ子にできるためです。IsFrameLinkToFileを使用して、外部リソースへリンクするフレームと、FrameDefaultUrlにドキュメントのファイル名を直接埋め込むフレームを区別します。FramesetCollection.Countは、Framesetに子要素があるかどうかをイテレーション前に確認する手軽な方法です。
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
Document.Frameset は null | ドキュメントはフレームベースの HTML ソースからロードされませんでした | このプロパティに依存する前に、ソースドキュメントが実際に HTML フレームを使用していることを確認してください |
ChildFramesets をイテレートすると、ネストされたフレームが見逃されます | トップレベルのみがイテレートされました | 各子 Frameset.ChildFramesets に再帰的に処理し、1 レベルだけ反復しないでください |
| フレームがファイルを指しているのか URL を指しているのか判別できません | IsFrameLinkToFile はチェックされていません | ターゲットの解決方法を知るために、IsFrameLinkToFile を FrameDefaultUrl と一緒に読み取ります |
FAQ
Aspose.Words FOSS for .NET のフレームセットとは何ですか?
それはフレームページまたはフレームページ上の単一フレームを表し、フレームベースのHTMLソースからロードされたドキュメントに対してDocument.Framesetとして公開されます。
フレームセット内のすべてのフレームを一覧表示するにはどうすればよいですか?
Frameset.ChildFramesets(FramesetCollection)を GetEnumerator() / foreach で反復し、さらに ChildFramesets を持つ子があれば再帰的に処理します。
フレームセットが持つ子フレームの数を知るにはどうすればよいですか?
FramesetCollection.Count をその ChildFramesets プロパティで読み取ります。
IsFrameLinkToFile は何を示していますか?
FrameDefaultUrl にあるウェブページまたはドキュメントのファイル名が、フレームがリンクしている外部リソースかどうか。
API Reference 概要
| クラス/メソッド | 説明 |
|---|---|
Document.Frameset | フレームベースの HTML ソースから読み込まれたドキュメントのルート Frameset |
Frameset | フレームページまたはフレームページ上の単一フレームを表します |
Frameset.FrameDefaultUrl | フレームに表示されるウェブページの URL またはドキュメントのファイル名 |
Frameset.IsFrameLinkToFile | FrameDefaultUrl が外部リンクリソースかどうか |
Frameset.ChildFramesets | 子フレームおよびフレームページの FramesetCollection |
FramesetCollection | Frameset インスタンスのコレクション; Count, GetEnumerator |