Я немного XML помещается в строку, называемую MyContent:Чтение XML документа с помощью LINQ TO 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
Не обязательно String.пусто, но как вы думаете, это причина? – user1624552
Может быть, код выглядит нормально для меня – CloudyMarble