방법: 특성의 값 검색(LINQ to XML)
업데이트: November 2007
이 항목에서는 특성의 값을 가져오는 방법을 보여 줍니다. 두 가지 주요 방법이 있습니다. XAttribute를 원하는 형식으로 캐스팅할 수 있습니다. 그러면 명시적 변환 연산자가 요소나 특성의 내용을 지정된 형식으로 변환합니다. 또는 Value 속성을 사용할 수 있습니다. 그러나 일반적으로 캐스팅이 더 나은 방법입니다. 특성을 nullable 형식으로 캐스팅하면 존재하지 않을 수도 있는 특성의 값을 검색하는 경우 코드를 더 간단하게 작성할 수 있습니다. 이 기법의 예제는 방법: 요소의 값 검색(LINQ to XML)을 참조하십시오.
예제
특성의 값을 검색하려면 XAttribute 개체를 원하는 형식으로 캐스팅하기만 하면 됩니다.
Visual Basic에서는 통합 특성 속성을 사용하여 특성의 값을 검색할 수 있습니다.
XElement root = new XElement("Root",
new XAttribute("Attr", "abcde")
);
Console.WriteLine(root);
string str = (string)root.Attribute("Attr");
Console.WriteLine(str);
Dim root As XElement = <Root Attr="abcde"/>
Console.WriteLine(root)
Dim str As String = root.@Attr
Console.WriteLine(str)
이 예제의 결과는 다음과 같습니다.
<Root Attr="abcde" />
abcde
Visual Basic에서는 통합 특성 속성을 사용하여 특성의 값을 설정할 수 있습니다. 또한 통합 특성 속성을 사용하여 존재하지 않는 특성의 값을 설정하는 경우 특성이 만들어집니다.
Dim root As XElement = <Root Att1="content"/>
root.@Att1 = "new content"
root.@Att2 = "new attribute"
Console.WriteLine(root)
이 예제의 결과는 다음과 같습니다.
<Root Att1="new content" Att2="new attribute" />
다음 예제에서는 특성이 네임스페이스에 있는 경우 특성의 값을 검색하는 방법을 보여 줍니다. 자세한 내용은 XML 네임스페이스 작업을 참조하십시오.
XNamespace aw = "https://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
new XAttribute(aw + "Attr", "abcde")
);
string str = (string)root.Attribute(aw + "Attr");
Console.WriteLine(str);
Imports <xmlns:aw="https://www.adventure-works.com">
Module Module1
Sub Main()
Dim root As XElement = <aw:Root aw:Attr="abcde"/>
Dim str As String = root.@aw:Attr
Console.WriteLine(str)
End Sub
End Module
이 예제의 결과는 다음과 같습니다.
abcde