ispeziona naviga in formato svg

Le immagini SVG sono comunemente utilizzate sul Web, soprattutto laddove la scalabilità e la qualità delle immagini sono importanti. È possibile esaminare, estrarre o esplorare gli elementi dell’immagine SVG a livello di codice con C#. Esploriamo le seguenti sezioni per ulteriori dettagli:

Ispezione o navigazione SVG in C# - Installazione API

L’API Aspose.SVG per .NET supporta la creazione, la modifica o la conversione di file SVG. Puoi scaricare il file DLL come ZIP dalla sezione Download. Puoi anche configurarlo tramite NuGet Package Manager in Microsoft Visual Studio. Il seguente comando di installazione di NuGet può essere utilizzato per configurarlo:

PM> Install-Package Aspose.SVG

Ispeziona il documento SVG e i suoi elementi

Diversi metodi in Aspose.SVG per .NET API si basano sulle specifiche di attraversamento degli elementi come da W3C. Puoi ispezionare un file SVG in dettaglio con i seguenti passaggi:

  1. Carica il file SVG di input.
  2. Carica diversi elementi con l’oggetto DocumentElement.
  3. Accedi al valore di qualsiasi proprietà.

Il codice seguente spiega come ispezionare i documenti SVG e i suoi diversi elementi a livello di codice usando C#:

// Carica un documento
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
}

Estrarre informazioni su elementi SVG specifici

Un file immagine SVG è costituito da diversi elementi sotto un elemento radice. La classe SVGDocument espone metodi diversi per estrarre informazioni su elementi SVG specifici, ad esempio ParentElement e GetElementsByClassName. Seguiamo i passaggi seguenti per estrarre informazioni su elementi SVG specifici:

  1. Carica l’immagine SVG di input.
  2. Accedi all’attributo DocumentElement.
  3. Leggi qualsiasi elemento specifico.

Il codice seguente mostra come estrarre informazioni su un elemento SVG specifico a livello di codice usando C#:

//Carica un documento da un file
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // Ottieni l'elemento svg radice del documento
    var svg = document.DocumentElement;
    	
    // Trova il primo elemento figlio con un determinato nome di tag
    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
}

Per questa dimostrazione, abbiamo considerato di lavorare con il file shapes.svg.

Naviga in SVG usando XPath Query

Il linguaggio di query XPath viene utilizzato per selezionare i nodi da documenti basati su XML. I seguenti passaggi spiegano come navigare tra i nodi dei file di immagine SVG con XPath Query:

  • Carica il file SVG di origine.
  • Valutare XPath expression.
  • Valuta e ottieni il nodo successivo.

Il codice seguente mostra come questi passaggi consentono di esplorare i nodi SVG a livello di codice utilizzando il linguaggio C#:

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

using (var document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
{
    //  Valuta l'espressione XPath
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  Ottieni il prossimo nodo valutato
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

Conclusione

In questo articolo, abbiamo esplorato come ispezionare il file SVG e i suoi elementi. Allo stesso modo, viene discussa anche l’estrazione di informazioni dai file SVG e la navigazione nei nodi SVG utilizzando XPath Query. Inoltre, puoi saperne di più leggendo la Documentazione. Sentiti libero di contattare il Forum di supporto gratuito. Saremo lieti di aiutarti e guidarti!

Guarda anche