ナビゲートsvgを検査します

SVG画像は、特に画像のスケーラビリティと品質が重要な場合に、Web上で広く使用されています。 C#を使用して、プログラムでSVG画像要素を検査、抽出、またはナビゲートできます。詳細については、次のセクションを調べてみましょう。

C#でのSVG検査またはナビゲーション-APIのインストール

Aspose.SVG for .NET APIは、SVGファイルの作成、編集、または変換をサポートしています。 DLLファイルはダウンロードセクションからZIPとしてダウンロードできます。 MicrosoftVisualStudioのNuGetパッケージマネージャーを使用して構成することもできます。次のNuGetインストールコマンドを使用して構成できます。

PM> Install-Package Aspose.SVG

SVGドキュメントとその要素を検査する

Aspose.SVG for .NET APIのいくつかのメソッドは、W3Cの要素トラバーサル仕様に基づいています。次の手順でSVGファイルを詳細に検査できます。

  1. 入力SVGファイルをロードします。
  2. DocumentElementオブジェクトを使用してさまざまな要素をロードします。
  3. 任意のプロパティの値にアクセスします。

以下のコードは、C#を使用してプログラムでSVGドキュメントとそのさまざまな要素を検査する方法を説明しています。

// ドキュメントを読み込む
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    var element = document.DocumentElement;
    Console.WriteLine(element.TagName); // svg
        
    element = element.LastElementChild;
    Console.WriteLine(element.TagName); // g
    
    element = element.FirstElementChild;
    Console.WriteLine(element.TagName); // rect
}

特定のSVG要素に関する情報を抽出する

SVG画像ファイルは、ルート要素の下にあるいくつかの要素で構成されています。 SVGDocumentクラスは、ParentElementGetElementsByClassNameなど、特定のSVG要素に関する情報を抽出するためのさまざまなメソッドを公開します。特定のSVG要素に関する情報を抽出するには、以下の手順に従います。

  1. 入力SVG画像をロードします。
  2. DocumentElement属性にアクセスします。
  3. 特定の要素を読み取ります。

次のコードは、C#を使用してプログラムで特定のSVG要素に関する情報を抽出する方法を示しています。

//ファイルからドキュメントをロードする
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // ドキュメントのルートsvg要素を取得します
    var svg = document.DocumentElement;
    	
    // 指定されたタグ名を持つ最初の子要素を検索します
    var g = svg.GetElementsByTagName("g").First() as SVGGElement;
    			
    var rect = g.FirstElementChild as SVGRectElement;
    
    Console.WriteLine("Height: {0}", rect.Height);// 90
    Console.WriteLine("Width: {0}", rect.Width); // 100
}

このデモンストレーションでは、shapes.svgファイルの操作を検討しました。

XPathクエリを使用してSVGをナビゲートする

XPathクエリ言語は、XMLベースのドキュメントからノードを選択するために使用されます。次の手順では、XPathクエリを使用してSVG画像ファイルノードをナビゲートする方法について詳しく説明します。

  • ソースSVGファイルをロードします。
  • 評価 XPath expression.
  • 評価して次のノードを取得します。

以下のコードは、これらの手順により、C#言語を使用してプログラムでSVGノードをナビゲートする方法を示しています。

using Aspose.Svg;
using System.IO;
using Aspose.Svg.Dom;
using Aspose.Svg.Collections;
...     

using (var document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
{
    //  XPath式を評価する
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  次に評価されるノードを取得します
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

結論

この記事では、SVGファイルとその要素を検査する方法について説明しました。同様に、SVGファイルから情報を抽出し、XPathクエリを使用してSVGノードをナビゲートすることについても説明します。さらに、ドキュメントを読むことで詳細を学ぶことができます。 無料サポートフォーラムまでお気軽にご連絡ください。喜んでお手伝いさせていただきます!

関連項目