Visual Basic의 LINQ to XML 개요
Visual Basic은 XML 리터럴 및 XML 축 속성을 통해 LINQ to XML을 지원합니다. 이렇게 하면 Visual Basic 코드에서 XML 작업을 위해 익숙하고 편리한 구문을 사용할 수 있습니다. XML 리터럴을 사용하면 코드에서 직접 XML을 포함할 수 있습니다. XML 축 속성을 사용하면 자식 노드, 하위 항목 노드, XML 리터럴의 특성에 액세스할 수 있습니다. 자세한 내용은 XML 리터럴 개요 및 Visual Basic에서 XML 액세스를 참조하세요.
LINQ to XML은 LINQ(Language-Integrated Query)를 활용하도록 특별히 설계된 메모리 내 XML 프로그래밍 API입니다. LINQ API를 직접 호출할 수 있지만 Visual Basic에서만 XML 리터럴을 선언하고 XML 축 속성에 직접 액세스할 수 있도록 허용합니다.
참고 항목
XML 리터럴 및 XML 축 속성은 ASP.NET 페이지의 선언 코드에서 지원되지 않습니다. Visual Basic XML 기능을 사용하려면 ASP.NET 애플리케이션의 코드 숨김 페이지에 코드를 배치합니다.
관련 비디오 데모를 보려면 LINQ to XML을 시작하는 방법 및 LINQ to XML을 사용하여 Excel 스프레드시트를 만드는 방법을 참조하세요.
XML 만들기
Visual Basic에서 XML 트리를 만드는 방법에는 두 가지가 있습니다. 코드에서 직접 XML 리터럴을 선언하거나 LINQ API를 사용하여 트리를 만들 수 있습니다. 두 프로세스 모두 코드에서 XML 트리의 최종 구조를 반영할 수 있습니다. 예를 들어 다음 코드 예제에서는 XML 요소를 만듭니다.
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
자세한 내용은 Visual Basic에서 XML 만들기를 참조하세요.
XML 액세스 및 탐색
Visual Basic은 XML 구조체에 액세스하고 탐색하기 위한 XML 축 속성을 제공합니다. 이러한 속성을 사용하면 XML 자식 요소 이름을 지정하여 XML 요소 및 특성에 액세스할 수 있습니다. 또는 요소 및 특성을 탐색하고 찾기 위해 LINQ 메서드를 명시적으로 호출할 수 있습니다. 예를 들어 다음 코드 예제에서는 XML 축 속성을 사용하여 XML 요소의 특성 및 자식 요소를 참조합니다. 이 코드 예제에서는 LINQ 쿼리를 사용하여 자식 요소를 검색하고 이를 XML 요소로 출력하여 효과적으로 변환을 수행합니다.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module Sample1
Sub SampleTransform()
' Create test by using a global XML namespace prefix.
Dim contact =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone ns:type="home">206-555-0144</ns:phone>
<ns:phone ns:type="work">425-555-0145</ns:phone>
</ns:contact>
Dim phoneTypes =
<phoneTypes>
<%= From phone In contact.<ns:phone>
Select <type><%= phone.@ns:type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
End Sub
End Module
자세한 내용은 Visual Basic에서 XML 액세스를 참조하세요.
XML 네임스페이스
Visual Basic을 사용하면 Imports
문을 사용하여 전역 XML 네임스페이스의 별칭을 지정할 수 있습니다. 다음 예제에서는 Imports
문을 사용하여 XML 네임스페이스를 가져오는 방법을 보여 줍니다.
Imports <xmlns:ns="http://someNamespace">
XML 축 속성에 액세스하고 XML 문서 및 요소에 대한 XML 리터럴을 선언할 때 XML 네임스페이스 별칭을 사용할 수 있습니다.
GetXmlNamespace 연산자를 사용하여 특정 네임스페이스 접두사에 대한 XNamespace 개체를 검색할 수 있습니다.
자세한 내용은 Imports 문(XML 네임스페이스)을 참조하세요.
XML 리터럴에서 XML 네임스페이스 사용
다음 예제에서는 XElement전역 네임스페이스를 사용하는 개체ns
를 만드는 방법을 보여 줍니다.
Dim contact1 As XElement =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone type="home">206-555-0144</ns:phone>
<ns:phone type="work">425-555-0145</ns:phone>
</ns:contact>
Console.WriteLine(contact1)
Visual Basic 컴파일러는 XML 네임스페이스 별칭이 포함된 XML 리터럴을 xmlns
특성과 함께 XML 네임스페이스를 사용하기 위해 XML 표기법을 사용하는 동등한 코드로 변환합니다. 컴파일 시 이전 섹션 예제의 코드는 기본적으로 다음 예제와 동일한 실행 코드를 생성합니다.
Dim contact2 As XElement =
<ns1:contact xmlns:ns1="http://someNamespace">
<ns1:name>Patrick Hines</ns1:name>
<ns1:phone type="home">206-555-0144</ns1:phone>
<ns1:phone type="work">425-555-0145</ns1:phone>
</ns1:contact>
Console.WriteLine(contact2)
XML 축 속성에서 XML 네임스페이스 사용
XML 리터럴에 선언된 XML 네임스페이스는 XML 축 속성에서 사용할 수 없습니다. 그러나 전역 네임스페이스는 XML 축 속성과 함께 사용할 수 있습니다. 콜론을 사용하여 XML 네임스페이스 접두사를 로컬 요소 이름과 구분합니다. 다음은 예제입니다.
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)
참고 항목
.NET