inspeccionar navegar svg

Las imágenes SVG se usan popularmente en la web, especialmente donde la escalabilidad y la calidad de las imágenes son importantes. Puede inspeccionar, extraer o navegar elementos de imagen SVG mediante programación con C#. Exploremos las siguientes secciones para obtener más detalles:

Inspección SVG o Navegación en C# - Instalación API

Aspose.SVG for .NET La API admite la creación, edición o conversión de archivos SVG. Puede descargar el archivo DLL como ZIP desde la sección Descargas. También puede configurarlo a través de NuGet Package Manager en Microsoft Visual Studio. Se puede usar el siguiente comando de instalación de NuGet para configurarlo:

PM> Install-Package Aspose.SVG

Inspeccionar documento SVG y sus elementos

Varios métodos en Aspose.SVG for .NET API se basan en las especificaciones transversales de elementos según W3C. Puede inspeccionar un archivo SVG en detalle con los siguientes pasos:

  1. Cargue el archivo SVG de entrada.
  2. Cargue diferentes elementos con el objeto DocumentElement.
  3. Accede al valor de cualquier propiedad.

El siguiente código explica cómo inspeccionar documentos SVG y sus diferentes elementos mediante programación usando C#:

// Cargar 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
}

Extraer información sobre elementos SVG específicos

Un archivo de imagen SVG consta de varios elementos bajo un elemento raíz. La clase SVGDocument expone diferentes métodos para extraer información sobre elementos SVG específicos, por ejemplo, ParentElement y GetElementsByClassName. Sigamos los pasos a continuación para extraer información sobre elementos SVG específicos:

  1. Cargue la imagen SVG de entrada.
  2. Acceda al atributo DocumentElement.
  3. Lea cualquier elemento específico.

El siguiente código muestra cómo extraer información sobre un elemento SVG específico mediante programación usando C#:

//Cargar un documento desde un archivo
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // Obtenga el elemento svg raíz del documento
    var svg = document.DocumentElement;
    	
    // Encuentre el primer elemento secundario con un nombre de etiqueta dado
    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
}

Para esta demostración, hemos considerado trabajar con el archivo shapes.svg.

Navegar SVG usando XPath Query

El lenguaje de consulta XPath se utiliza para seleccionar nodos de documentos basados en XML. Los siguientes pasos explican cómo navegar por los nodos de archivos de imagen SVG con XPath Query:

  • Cargue el archivo SVG de origen.
  • Evaluar XPath expression.
  • Evalúe y obtenga el siguiente nodo.

El siguiente código demuestra cómo estos pasos le permiten navegar por los nodos SVG mediante programación usando el lenguaje 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")))
{
    //  Evaluar expresión XPath
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  Obtener el siguiente nodo evaluado
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

Conclusión

En este artículo, hemos explorado cómo inspeccionar el archivo SVG y sus elementos. Del mismo modo, también se analiza la extracción de información de archivos SVG y la navegación de nodos SVG mediante XPath Query. Además, puede obtener más información leyendo la Documentación. No dude en comunicarse con Foro de soporte gratuito. ¡Estaremos encantados de ayudarte y guiarte!

Ver también