Я совершенно не знаком с синтаксисом C# и XML, поэтому мне нравится спрашивать, как я могу прочитать все узлы в этом XML-файле?C# xml read all childnodes
<root>
<info>
<name>
<first>bob</first>
<last>john</last>
<middle>D</middle>
</name>
<age>35</age>
<sex>male</sex>
<id>12345</id>
</info>
<info>
<name>
<first>jack</first>
<last>dawnson</last>
<middle>D</middle>
</name>
<age>23</age>
<sex>male</sex>
<id>23456</id>
</info>
</root>
я мог бы получить значение для возраста, пола, и ид, но не имя или его childnodes.Here то, что я до сих пор?
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlOut);
XmlNodeList node = doc.SelectNodes("/root/Info");
Employee empOne = new Employee();
foreach (XmlNode childNode in node)
{
empOne.Age = childNode["age"].InnerText;
empOne.Sex = childNode["sex"].InnerText;
empOne.ID = childNode["id"].InnerText;
foreach (XmlNode node2 in childNode.ChildNodes)
{
empOne.FirstName = node2["first"].InnerText;
empOne.LastName = node2["last"].InnerText;
}
}
Во-первых, я настоятельно рекомендую использовать LINQ to XML - это сделает все намного проще. –
Я думаю, что вам нужен рекурсивный поиск - //? – Tim
Не должно быть 'foreach (XmlNode node2 в childNode [" name "]. ChildNodes)'? – Dialecticus