inspecter naviguer svg

Les images SVG sont couramment utilisées sur le Web, en particulier lorsque l’évolutivité et la qualité des images sont importantes. Vous pouvez inspecter, extraire ou parcourir des éléments d’image SVG par programmation avec C#. Explorons les sections suivantes pour plus de détails :

Inspection ou navigation SVG en C# - Installation de l’API

L’API Aspose.SVG for .NET prend en charge la création, la modification ou la conversion de fichiers SVG. Vous pouvez télécharger le fichier DLL au format ZIP à partir de la section Téléchargements. Vous pouvez également le configurer via NuGet Package Manager dans Microsoft Visual Studio. La commande d’installation NuGet suivante peut être utilisée pour le configurer :

PM> Install-Package Aspose.SVG

Inspecter le document SVG et ses éléments

Plusieurs méthodes dans Aspose.SVG for .NET sont basées sur les spécifications de traversée d’éléments conformément au W3C. Vous pouvez inspecter un fichier SVG en détail en procédant comme suit :

  1. Chargez le fichier SVG d’entrée.
  2. Chargez différents éléments avec l’objet DocumentElement.
  3. Accédez à la valeur de n’importe quelle propriété.

Le code ci-dessous explique comment inspecter les documents SVG et ses différents éléments par programmation à l’aide de C# :

// Charger un document
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
}

Extraire des informations sur des éléments SVG spécifiques

Un fichier image SVG se compose de plusieurs éléments sous un élément racine. La classe SVGDocument expose différentes méthodes pour extraire des informations sur des éléments SVG spécifiques, par exemple, ParentElement et GetElementsByClassName. Suivons les étapes ci-dessous pour extraire des informations sur des éléments SVG spécifiques :

  1. Charger l’image SVG d’entrée.
  2. Accédez à l’attribut DocumentElement.
  3. Lire n’importe quel élément spécifique.

Le code suivant montre comment extraire des informations sur un élément SVG spécifique par programmation à l’aide de C# :

//Charger un document à partir d'un fichier
string documentPath = Path.Combine(DataDir, "shapes.svg");
    
using (var document = new SVGDocument(documentPath))
{
    // Obtenir l'élément svg racine du document
    var svg = document.DocumentElement;
    	
    // Trouver le premier élément enfant avec un nom de balise donné
    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
}

Pour cette démonstration, nous avons envisagé de travailler avec le fichier shapes.svg.

Naviguer dans SVG à l’aide de la requête XPath

Le langage de requête XPath est utilisé pour sélectionner des nœuds à partir de documents XML. Les étapes suivantes expliquent comment naviguer dans les nœuds de fichiers image SVG avec XPath Query :

  • Charger le fichier SVG source.
  • Évaluer XPath expression.
  • Évaluez et obtenez le nœud suivant.

Le code ci-dessous montre comment ces étapes vous permettent de parcourir les nœuds SVG par programmation à l’aide du langage 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")))
{
    //  Évaluer l'expression XPath
    var xpathResult = document.Evaluate("//rect[@x='120']", document, null, (Dom.XPath.XPathResultType)XPathResultType.Any, null);

    //  Obtenir le prochain nœud évalué
    Console.WriteLine((xpathResult.IterateNext() as Element)?.OuterHTML);		  
}

Conclusion

Dans cet article, nous avons exploré comment inspecter le fichier SVG et ses éléments. De même, l’extraction d’informations à partir de fichiers SVG et la navigation dans les nœuds SVG à l’aide de XPath Query sont également abordées. De plus, vous pouvez en savoir plus en lisant la Documentation. N’hésitez pas à nous contacter sur Forum d’assistance gratuit. Nous serons heureux de vous aider et de vous guider!

Voir également