检查XML属性值的唯一性的方法

时间:2014-03-05 12:35:22

标签: c# xml xml-attribute

<?xml version="1.0" encoding="utf-8"?>
<projects>
  <proj name="project1">
    <file_type Type="internal">"path1"</file_type>
    <file_type Type="external">"path2"</file_type>
  </proj>
  <proj name="project2">
    <file_type Type="internal">"path3"</file_type>
  </proj>
</projects>

这是我的XML文件。我需要将这些file_type值添加到我的ComboBox列表中。为此,我需要检查属性值的唯一性。在这里,我想在ComboBox中只添加内部和外部。请告诉我任何检查属性值唯一性的方法。

2 个答案:

答案 0 :(得分:1)

您可以使用Type获得唯一的Distinct()值:

var xdoc = XDocument.Load(path_to_xml); // use Linq to Xml
var types = xdoc.Descendants("file_type")
                .Select(f => (string)f.Attribute("Type"))
                .Distinct();

答案 1 :(得分:0)

您可以使用XML Schema并使用ID作为属性类型。