2010-01-10 3 views
2

내 xml 파일이 같은 있습니다 ...
<Keyword name = "if" />
<Keyword name = "else" />
<Keyword name = "is" />
...


그래서 반복적으로 name 속성의 모든 값을 얻을 List<string> 또는 string[] A를 추가하는 방법에 대해 설명합니다. 어쩌면 foreach 루프일까요?가져 오기 XML은 문자열로 속성 값을 []


나는 codemeit의의를 따라 난 오류가 점점 계속 : Data at the root level is invalid. Line 1, position 1. 내 xml 파일이
<KeyWords>
...
</KeyWord>


...
<KeyWord name = "if" />

새로운 확률값입니다 lem The '\' character, hexadecimal value 0x5C, cannot be included in a name.하지만 같은 파일.

답변

5

이름 속성에서 myArray가 포함됩니다

var myXml = XElement.Parse(testXml); 
var myArray = myXml.Elements().Where(n => n.Name.LocalName.Equals("Keyword")) 
        .Select(n => n.Attribute("name").Value) 
        .ToArray(); 

값 추출하기 위해 다음과 XML을 문자열

<Keywords> 
<Keyword name = "if" /> 
<Keyword name = "else" /> 
<Keyword name = "is" /> 
</Keywords> 

사용하여 XElement 및 LINQ와 같다 {, "만약" "다른 사람" , @SLaks 의견에

UPDATE

감사합니다} "는"우리는 행동 할 수 부를 따로 다만이 ... 내가 지금 LINQ를 배워야 정말 놀랍

var myArray = myXml.Elements("Keyword").Attributes("name").Select(n => n.Value); 
+3

을 .. 당신은'myXml.Elements를 호출해야 –

+1

("키워드") ' – SLaks

0

XmlNodeList 클래스를 사용할 수 있습니다. 값을 가져오고 목록을 반복하려면 적절한 XPATH를 전달해야합니다. 변수 testXml하자 가정하자