-1

我很困惑在运行时使用 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 ; 

数据”的属性应该是从同一个 xml 文件中加载的名称、估计、附属年份。

我应该能够完全访问 data.name、data.estd、data.affiliated 和 data.year。

我尝试了许多组合将此 XML 数据加载到变量中,但无法这样做。

它将大学标签中的所有属性加载到变量中,然后当我再次加载数据时,它将这些属性替换为认定标签中的属性。

有人可以帮忙吗???

4

1 回答 1

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”键和相应值的字典。当然,这是假设您想要文档中的所有大学元素。

于 2013-06-07T06:43:30.837 回答