Tag: LINQtoXML
参照の追加で、System.XML, System.Xml.Linqを追加する。
<?xml version="1.0" encoding="utf-8" ?> <PersonList> <Persons id="soccer"> <Person> <Name>中田英寿</Name> <Age>34</Age> </Person> <Person> <Name>中村俊輔</Name> <Age>33</Age> </Person> </Persons> <Persons id="baseball"> <Person> <Name>ダルビッシュ</Name> <Age>25</Age> </Person> <Person> <Name>イチロー</Name> <Age>36</Age> </Person> </Persons> </PersonList>
var xdoc = XDocument.Load("../../persons.xml");
var persons = xdoc.Descendants("Person"); foreach (var person in persons) { Debug.WriteLine("##### start #####"); Debug.WriteLine(person.ToString()); Debug.WriteLine(""); }
##### start ##### <Person> <Name>中田英寿</Name> <Age>34</Age> </Person> ##### start ##### <Person> <Name>中村俊輔</Name> <Age>33</Age> </Person> ##### start ##### <Person> <Name>ダルビッシュ</Name> <Age>25</Age> </Person> ##### start ##### <Person> <Name>イチロー</Name> <Age>36</Age> </Person>
var personsCollection = ( from p in xdoc.Descendants("Persons") where p.Attribute("id").Value == "soccer" select p); foreach (var persons in personsCollection) { Debug.WriteLine(persons.ToString()); }
##### start ##### <Persons id="soccer"> <Person> <Name>中田英寿</Name> <Age>34</Age> </Person> <Person> <Name>中村俊輔</Name> <Age>33</Age> </Person> </Persons>