XML 특성 축 속성
업데이트: 2007년 11월
XElement 개체의 특성이나 XElement 개체의 컬렉션에 있는 첫 번째 요소의 값에 대한 액세스를 제공합니다.
object.@attribute
-or-
object.@<attribute>
구성 요소
.@
필수 요소입니다. 특성 축 속성의 시작을 나타냅니다.<
선택적 요소입니다. attribute가 Visual Basic에서 유효한 식별자가 아닌 경우 특성 이름의 시작 부분을 나타냅니다.attribute
필수 요소입니다. [prefix:]name 폼에서 액세스할 특성의 이름입니다.구성 요소
설명
prefix
선택적 요소입니다. 특성의 XML 네임스페이스 접두사입니다. Imports 문을 사용하여 정의된 전역 XML 네임스페이스여야 합니다.
name
필수 요소입니다. 지역 특성 이름입니다. 선언된 XML 요소 및 특성의 이름을 참조하십시오.
>
선택적 요소입니다. attribute가 Visual Basic에서 유효한 식별자가 아닌 경우 특성 이름의 끝 부분을 나타냅니다.
반환 값
특성의 값을 포함하는 문자열입니다.
설명
XML 특성 축 속성을 사용하여 XElement 개체 또는 XElement 개체의 컬렉션에 있는 첫 번째 요소에서 이름으로 특성의 값에 액세스할 수 있습니다. 이름으로 특성 값을 검색하거나 새 이름 앞에 @ 식별자를 지정하여 요소에 새 특성을 추가할 수 있습니다.
@ 식별자를 사용하여 XML 특성을 참조하는 경우 특성 값은 문자열로 반환되며 Value 속성을 명시적으로 지정할 필요가 없습니다.
XML 특성에 대한 명명 규칙은 Visual Basic 식별자에 대한 명명 규칙과 다릅니다. 유효한 Visual Basic 식별자가 아닌 이름의 XML 특성에 액세스하려면 꺾쇠괄호(< 및 >)로 이름을 묶습니다.
XML 네임스페이스
특성 축 속성의 이름은 Imports 문을 사용하여 전역으로 선언된 XML 네임스페이스 접두사만 사용할 수 있으며 XML 요소 리터럴 내에서 로컬로 선언된 XML 네임스페이스 접두사는 사용할 수 없습니다. 자세한 내용은 Imports 문(XML 네임스페이스)을 참조하십시오.
예제
다음 예제에서는 phone이라는 XML 요소의 컬렉션에서 type이라는 XML 특성의 값을 가져오는 방법을 보여 줍니다.
' Topic: XML Attribute Axis Property
Dim phones As XElement = _
<phones>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</phones>
Dim phoneTypes As XElement = _
<phoneTypes>
<%= From phone In phones.<phone> _
Select <type><%= phone.@type %></type> _
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
이 코드가 표시하는 텍스트는 다음과 같습니다.
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
다음 예제에서는 XML 요소에 대한 특성을 XML의 일부로 선언적으로 그리고 XElement 개체의 인스턴스에 특성을 추가하여 동적으로 만드는 방법을 모두 보여 줍니다. type 특성은 선언적으로 생성되며 owner 특성은 동적으로 생성됩니다.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
이 코드가 표시하는 텍스트는 다음과 같습니다.
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
다음 예제에서는 꺾쇠괄호 구문을 사용하여 Visual Basic에서 유효한 식별자가 아닌 number-type이라는 XML 특성의 값을 가져옵니다.
Dim phone As XElement = _
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
이 코드가 표시하는 텍스트는 다음과 같습니다.
Phone type: work
다음 예제에서는 ns를 XML 네임스페이스 접두사로 선언합니다. 그런 다음 네임스페이스의 접두사를 사용하여 XML 리터럴을 만들고 정규화된 이름인 "ns:name"을 사용하여 첫 번째 자식 노드에 액세스합니다.
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass3
Shared Sub TestPrefix()
Dim phone = _
<ns:phone ns:type="home">206-555-0144</ns:phone>
Console.WriteLine("Phone type: " & phone.@ns:type)
End Sub
End Class
이 코드가 표시하는 텍스트는 다음과 같습니다.
Phone type: home