기본 노드의 속성을 검색해야하는데 코드가 아무것도 인쇄하지 않습니다.
<MAINNODE AONE="22 11 12" ATWO="444"><CHILDNODE Aone="7"/></MAINNODE>
다음은 코드입니다.
var listItems = xdocument.Root
.Elements("MAINNODE")
.Select(e => e.Attribute("AONE"))
.Select(a => a.Value.Split(' ').Select(s => XmlConvert.ToInt32(s)).ToList())
.ToList();
foreach (List<int> list in listItems)
{
print(list);
}
나는 자식 노드의 속성을 얻을 수 있지만 주 노드의 속성은 얻을 수 없습니다. LINQ 및 XML을 처음 사용합니다.
이것이 전체 XML 인 경우 Root는 기본 노드이며 다음을 통해 해당 속성을 가져올 수 있습니다 xdocument.Root.Attributes
.
string[] listItems = xdocument.Root.Attribute("AONE").Value.Split();
int[] intItems = Array.ConvertAll(listItems, s => Int32.Parse(s));
foreach (int i in intItems) {
Console.WriteLine(i);
}
이것은 인쇄됩니다
22
11
12
참고 항목 : Array.ConvertAll <TInput, TOutput> (TInput [], Converter <TInput, TOutput>) 메서드
참고 : 목록이 필요한 경우 int[] intItems
배열 에서 만들 수 있습니다.
var list = new List<int>(intItems);
또는 먼저 문자열 배열을 int 배열로 변환하는 대신 생성자를 호출 할 때 직접 변환을 수행합니다.
var list = new List<int>(listItems.Select(s => Int32.Parse(s)));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다