탐색 svg 검사

SVG 이미지는 특히 이미지의 확장성과 품질이 중요한 웹에서 널리 사용됩니다. C#을 사용하여 프로그래밍 방식으로 SVG 이미지 요소를 검사, 추출 또는 탐색할 수 있습니다. 자세한 내용은 다음 섹션을 살펴보겠습니다.

C#의 SVG 검사 또는 탐색 - API 설치

Aspose.SVG for .NET API는 SVG 파일의 생성, 편집 또는 변환을 지원합니다. DLL 파일은 다운로드 섹션에서 ZIP으로 다운로드할 수 있습니다. Microsoft Visual Studio의 NuGet 패키지 관리자를 통해 구성할 수도 있습니다. 다음 NuGet 설치 명령을 사용하여 구성할 수 있습니다.

PM> Install-Package Aspose.SVG

SVG 문서 및 해당 요소 검사

.NET API용 Aspose.SVG의 여러 메서드는 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 노드를 탐색하는 방법도 설명합니다. 또한 Documentation을 읽으면 더 자세히 알아볼 수 있습니다. 무료 지원 포럼에 자유롭게 문의하세요. 기꺼이 도와드리고 안내해 드리겠습니다!

또한보십시오