<root>
<attribute code="AAA">
<attribute code="A1"/>
<attribute code="A1"/>
</attribute>
<attribute code="AAA">
<attribute code="A1"/>
</attribute>
<attribute code="AAA"/>
<attribute code="BBB"/>
</root>
Ожидаемый результат
/AAA[1]/A1[1]
/AAA[1]/A1[2]
/AAA[2]/A1[1]
/AAA[3]
/BBB[1]
Мой план состоял в том, чтобы построить их как / AAA / A1, а затем приступить к проверке дубликатов, но это неправильный подход и не будет правильно получен путь (n).
мой код до сих пор вызывает checkDown (XML):
private void checkDown(XmlNode root)
{
if (root.HasChildNodes)
checkDown(root.FirstChild);
else
{
string str = "";
checkUp(root, ref str);
List1.Add(str);
}
if (root.NextSibling != null)
checkDown(root.NextSibling);
}
private void checkUp(XmlNode root, ref string str)
{
if (root.Attributes != null)
if (root.Attributes["code"] != null)
str = "/" + root.Attributes["code"].Value.ToString() + str;
if (root.ParentNode != null)
checkUp(root.ParentNode, ref str);
}
Надеюсь, я дал достаточно информации, я не знаю, какое "ключевое слово" искать. Благодаря.