현재 작업중인 응용 프로그램은 XML을 문자열로 반환합니다.
String xml = getData();
하지만 이제 이것을 문자열 배열로 변환해야합니다. Xml은 다음과 같습니다.
<details>
<row>
<Year>2014</Year>
<Person>Bob</Person>
</row>
<row>
<Year>2013</Year>
<Person>Fred</Person>
</row>
</details>
XML이 파일에 저장되어있는 경우이 작업을 수행하는 방법을 보았지만 이것은 옵션이 아닙니다. 어떤 아이디어?
다음과 같은 값을 가진 사전 배열 또는 배열 목록과 같은 것을 갖고 싶습니다 : year, year, year
사람, 사람, 사람
이 방법으로 시도 할 수 있습니다.
var doc = XDocument.Parse(xml);
var rows = from row in doc.Root.Elements("row") select row;
//array of person
var persons = rows.Select(o => (string) o.Element("Person")).ToArray();
//array of year
var years = rows.Select(o => (string)o.Element("Year")).ToArray();
모든 요소 <row>
를 단일 배열 로 가져 오려면 다음 방법을 시도하십시오.
//you can remove OrderBy part if it isn't necessary
var result = rows.SelectMany(o => o.Elements())
.OrderBy(o => o.Name.LocalName)
.Select(o => (string) o).ToArray();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다