我想解析格式不正確的xml文檔。在xml中有一些模式,例如用於例如。我想要得到具有父節點MyParentNode
的節點Name
的值。然後在下面,有另一個節點Name
,我想根據Farm
得到。例如。LINQ to XML從任何地方使用層次結構模式獲取價值
<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
問題是這些數據中的一些在層次結構中很深,有時它們是隨機的。但是可以從父節點和子節點的模式中找到它們。有人能告訴我解決上述問題的代碼嗎?