У меня есть две версии XmlDocument
Версия 1
<?xml version="1.0" encoding="UTF-8"?>
<topElement>
<childElement1>Value</childElement1>
<childElement2>Value</childElement2>
...
</topElement>
Версия 2
<?xml version="1.0" encoding="UTF-8"?>
<topElement>
<group1>
<childElement1>Value</childElement1>
<childElement2>Value</childElement2>
</group1>
<group2>
<childElement1>Value</childElement1>
<childElement2>Value</childElement2>
</group2>
</topElement>
В обоих случаях мне нужно получить все значения для всех дочерних элементов и добавить их в коллекцию CustomObject. Насколько я понимаю, это можно сделать только через итерацию.
Итак, я получаю верхний узел и делаю так:
CustomObject getLow(XmlNode node, CustomObject customObject)
{
foreach (XmlNode n in node.ChildNodes)
{
if (n.HasChildNodes == true)
{
getLow(n);
}
customObject.collection.Add(n.Name, n.InnerText);
}
return customObject;
}
Без сомнения, это неправильно, пожалуйста, может ли кто-нибудь помочь мне получить правильный результат в обоих случаях?
getLow(XmlNode xmlNode)
- person t3hn00b   schedule 01.02.2013n
есть дочерние узлы, вы никогда не покинете этотwhile
цикл. - person t3hn00b   schedule 01.02.2013