我有一點XML放入一個字符串,叫做爲myContent:與LINQ讀取XML文件到XML
<People xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Person ID="1" name="name1" />
<Person ID="2" name="name2" />
(....)
<Person ID="13" name="name13" />
<Person ID="14" name="name14" />
</People>
,並在C#我已經存儲了先前的XML內容的字符串變量象下面這樣:
private string myContent = String.Empty +
"<People xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
"<Person ID=\"1\" name=\"name1\" />" +
"<Person ID=\"2\" name=\"name2\" />" +
(...)
"<Person ID=\"13\" name=\"name13\" />" +
"<Person ID=\"14\" name=\"name14\" />" +
"</People>";
和我加載如下:
XDocument contentXML = XDocument.Parse(myContent);
然後我遍歷所有的人:
IEnumerable<XElement> people = contentXML.Elements();
foreach (XElement person in people)
{
var idPerson = person.Element("Person").Attribute("ID").Value;
var name = person.Element("Person").Attribute("name").Value
// print the person ....
}
問題是我只獲得第一個人,而不是其他人。它說人們有1個元素,它應該有14.
任何想法?
爲什麼你在開始時有一個String.Empty? – CloudyMarble 2013-05-14 12:41:09
它不是必需的String.empty,但你認爲是原因嗎? – user1624552 2013-05-14 12:43:19
可能是,代碼對我來說看起來不錯 – CloudyMarble 2013-05-14 12:46:28