Я пытаюсь разобрать плохо отформатированный XML-документ. Есть некоторые шаблоны в XML, например, для. Я хочу получить значение узла Name
, у которого есть родительский MyParentNode
. Затем, позже, есть еще один узел Name
, который я хотел бы получить под Farm
. Например,
<Node>
<MyParentNode>
<Name>LOL</Name>
<RandomNode>
<Farms>
<Farm>
<Name>MyFarmName</Name>
</Farm>
<Farm>
<Name>MyFarmName2</Name>
</Farm>
</Farms>
</RandomNode>
</MyParentNode>
</Node>
Итак, я хотел бы извлечь массив, который выглядит следующим образом:
public class SomeClass{
public string ParentName {get; set;} // MyParentNode->Name
public string Name {get; set;} //RandomNode->Farms->Farm->Name
}
Я в основном хочу сгладить этот xml в массив:
List<SomeClass> list = FlattenXml();
list[0]; //ParentName = LOL, Name = MyFarmName
list[1]; //ParentName = LOL, Name = MyFarmName2
Проблема в том, что некоторые из этих данных находятся глубоко в иерархии, а иногда они случайны. Но их можно найти по шаблону родительского узла и дочернего узла. Может кто-нибудь показать мне код для решения вышеуказанной проблемы, пожалуйста?