проверить навигацию svg

Изображения SVG широко используются в Интернете, особенно там, где важны масштабируемость и качество изображений. Вы можете проверять, извлекать или перемещаться по элементам изображения SVG программно с помощью C#. Давайте рассмотрим следующие разделы для получения дополнительной информации:

Проверка SVG или навигация в C# — установка API

Aspose.SVG для .NET API поддерживает создание, редактирование и преобразование файлов SVG. Вы можете скачать файл DLL в формате ZIP из раздела Загрузки. Вы также можете настроить его с помощью диспетчера пакетов NuGet в Microsoft Visual Studio. Для его настройки можно использовать следующую команду установки NuGet:

PM> Install-Package Aspose.SVG

Проверка документа SVG и его элементов

Несколько методов в Aspose.SVG для .NET API основаны на спецификациях обхода элементов согласно W3C. Вы можете подробно изучить файл SVG, выполнив следующие действия:

  1. Загрузите входной файл SVG.
  2. Загружайте различные элементы с помощью объекта DocumentElement.
  3. Доступ к значению любого свойства.

В приведенном ниже коде объясняется, как программно проверять документы SVG и их различные элементы с помощью C#:

// Загрузите документ
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 предоставляет различные методы для извлечения информации об определенных элементах SVG, например, ParentElement и GetElementsByClassName. Давайте выполним следующие шаги для извлечения информации о конкретных элементах SVG:

  1. Загрузите входное изображение SVG.
  2. Получите доступ к атрибуту DocumentElement.
  3. Прочитайте любой конкретный элемент.

В следующем коде показано, как программно извлечь информацию о конкретном элементе SVG с помощью C#:

//Загрузить документ из файла
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.

Навигация по SVG с помощью XPath Query

Язык запросов XPath используется для выбора узлов из документов на основе XML. Следующие шаги объясняют, как перемещаться по узлам файлов изображений SVG с помощью XPath Query:

  • Загрузите исходный файл SVG.
  • Оценивать XPath expression.
  • Оцените и получите следующий узел.

В приведенном ниже коде показано, как эти шаги позволяют программно перемещаться по узлам SVG с помощью языка 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")))
{
    //  Оценить выражение 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 и навигация по узлам SVG с использованием XPath Query. Кроме того, вы можете узнать больше, прочитав Документацию. Не стесняйтесь обращаться на Форум бесплатной поддержки. Будем рады помочь и направить вас!

Смотрите также