GetXmlNamespace 연산자
업데이트: 2007년 11월
지정된 XML 네임스페이스 접두사에 해당하는 XNamespace 개체를 가져옵니다.
GetXmlNamespace(xmlNamespacePrefix)
구성 요소
- xmlNamespacePrefix
선택적 요소. XML 네임스페이스 접두사를 식별하는 문자열입니다. 지정된 경우 이 문자열은 유효한 XML 식별자여야 합니다. 자세한 내용은 선언된 XML 요소 및 특성의 이름을 참조하십시오. 지정된 접두사가 없으면 기본 네임스페이스가 반환됩니다. 지정된 기본 네임스페이스가 없으면 빈 네임스페이스가 반환됩니다.
반환 값
XML 네임스페이스 접두사에 해당하는 XNamespace 개체입니다.
설명
GetXmlNamespace 연산자는 XML 네임스페이스 접두사 xmlNamespacePrefix에 해당하는 XNamespace 개체를 가져옵니다.
XML 네임스페이스 접두사를 XML 리터럴 및 XML 축 속성에 직접 사용할 수 있습니다. 그러나 네임스페이스 접두사를 코드에 사용하기 전에 GetXmlNamespace 연산자를 사용하여 네임스페이스 접두사를 XNamespace 개체로 변환해야 합니다. 정규화되지 않은 요소 이름을 XNamespace 개체에 추가하여 많은 LINQ to XML 메서드에서 필요로 하는 정규화된 XName 개체를 가져올 수 있습니다.
예제
다음 예제에서는 ns를 XML 네임스페이스 접두사로 가져옵니다. 그런 다음 네임스페이스의 접두사를 사용하여 XML 리터럴을 만들고 정규화된 이름이 ns:phone인 첫 번째 자식 노드에 액세스합니다. 그런 다음 해당 자식 노드를 GetXmlNamespace 연산자를 사용하여 정규화된 이름을 생성하는 ShowName 서브루틴으로 전달합니다. 그런 다음 ShowName 서브루틴에서는 정규화된 이름을 Ancestors 메서드로 전달하여 부모 ns:contact 노드를 가져옵니다.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module GetXmlNamespaceSample
Sub RunSample()
' 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>
ShowName(contact.<ns:phone>(0))
End Sub
Sub ShowName(ByVal phone As XElement)
Dim qualifiedName = GetXmlNamespace(ns) + "contact"
Dim contact = phone.Ancestors(qualifiedName)(0)
Console.WriteLine("Name: " & contact.<ns:name>.Value)
End Sub
End Module
TestGetXmlNamespace.RunSample()을 호출하면 다음 텍스트가 포함된 메시지 상자가 표시됩니다.
Name: Patrick Hines