2012-10-22 3 views
1

C#, 프레임 워크 3.5를 사용하고 있습니다. xmldocument를 사용하여 xml 값을 읽습니다. 나는 속성의 값을 얻을 수는 있지만 속성 이름을 얻을 수는 없다. 예 : 내 XML은 내가 다음 코드를 사용하여 값을 읽을 수 xmldocument를 사용하여 xml 속성 이름을 가져옵니다.

<customer> 
<customerlist name = AAA Age = 23 /> 
<customerlist name = BBB Age = 24 /> 
</customer> 

다음과 같습니다

foreach(xmlnode node in xmlnodelist) 
{ 
    customerName = node.attributes.getnameditem("name").value; 
    customerAge = node.attributes.getnameditem("Age").value; 
} 

이름 대신 자신의 값 (이름, 나이) 속성을 얻을 방법. 감사합니다

답변

1

XmlNode에는 Attributes 컬렉션이 있습니다. 이 컬렉션의 항목은 XmlAttributes입니다. XmlAttributes에는 NameValue 속성이 있으며 others 사이에 있습니다.

다음은 주어진 노드의 속성을 반복하고 각 속성의 이름과 값을 출력하는 예입니다.

XmlNode node = GetNode(); 

foreach(XmlAttribute attribute in node.Attributes) 
{ 
    Console.WriteLine(
     "Name: {0}, Value: {1}.", 
     attribute.Name, 
     attribute.Value); 
} 

XmlNode.Attributes의 문서에서주의 : 노드 유형의 XmlNodeType.Element이다

경우, 노드 의 속성이 반환됩니다. 그렇지 않은 경우이 속성은 null을 반환합니다.

업데이트

당신이 정확히 두 개의 속성이 있습니다, 당신은 같은 시간에 자신의 이름이 모두, 다음과 같이 할 수있는 것인지 알고있는 경우 :

string attributeOne = node.Attributes[0].Name; 
string attributeTwo = node.Attributes[1].Name; 

http://msdn.microsoft.com/en-us/library/0ftsfa87.aspx

+0

업데이트를 참조하십시오. –

+0

답장을 보내 주셔서 감사합니다. 그래서 if (1stAttribute.name == "Name"과 2ndAttribute.Name = "Age")와 같은 쌍으로 요소의 속성 이름을 읽은 다음 무언가를하고 싶습니다. 그래서 속성 이름을 기반으로 코드를 사용자 정의해야합니다. 그래서 그 엘레멘트와 관련된 모든 애트리뷰트 이름을 얻는 방법. –

+0

감사합니다. 예, 지금은 2 가지 속성이 될 것입니다.하지만 좀 더 일반적인 경우 어떻게해야하는지 잘 모르겠습니다. –

관련 문제