我很困惑在运行时使用C#从同一个xml文件的其他位置向同一个命名标记添加属性到XML标记。
xml文件看起来像这样 - “sample.xml中”
<university>
<college>
<name> Something </name>
<estd.> Something </estd.>
</college>
</university>
我在相同的xml文件 - “Sample.xml”中的其他地方有另一个代码
<Deemed>
<college>
<affiliated> something </affiliated>
<year> something </year>
</college>
</Deemed>
现在我要做的是使用C#将大学标签的数据从这两个不同的父标签转换为单个变量。
应该是这样的 -
College data = //Get data from Xml loaded into this object ;
“数据”的属性应该是 name,estd。,affiliated 和 year ,所有这些都是从同一个xml文件加载的。
我应该能够访问data.name,data.estd,data.affiliated和data.year。
我尝试了很多将这些XML数据加载到变量中的组合,但却无法这样做。
它将大学标签中的所有属性加载到变量中,然后当我再次加载数据时,它将这些属性替换为带有来自视觉标记的属性。
任何人都可以帮忙????
答案 0 :(得分:0)
您的要求并不十分清楚,但您可以像这样使用LINQ to XML:
XDocument doc = XDocument.Load("data.xml");
Dictionary<string, string> collegeSubelements = doc.Descendants("college")
.Elements()
.ToDictionary(x => x.Name.LocalName, x => (string) x);
这将创建一个字典,其中包含“name”,“estd。”,“affiliated”,“year”和相应值的键。当然,假设你想要所有大学元素。