使用XmlSchema获取对xml架构元素的引用

时间:2012-01-13 16:49:56

标签: c# .net xsd

我想使用类XmlSchema来解析模式,但我找不到如何在下面的模式中获取对Image和Size元素的引用。我正在开发一个具有基于模式的表单的应用程序。

我有架构:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Test">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Image" type="FileUpload" />
        <xs:element name="Size" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="FileUpload">
    <xs:restriction base="xs:string" />
  </xs:simpleType>
</xs:schema>

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这个怎么样??

foreach(var size in doc.Root.DescendantNodes().OfType<XElement>()
        .Select(x => x.Size).Distinct())
{
    Console.WriteLine(size);
}

foreach(var image in doc.Root.DescendantNodes().OfType<XElement>()
        .Select(x => x.Image).Distinct())
{
    Console.WriteLine(image);
}

你也可以使用XPATH

XmlDocument xdoc = new XmlDocument(); 
xdoc.Load(path to your xml schema file);
XmlNodeList list = xdoc.SelectNodes("//Image");
XmlNodeList list2 = xdoc.SelectNodes("//Size");