2

我有一个 XSD 文件,我需要获取其中所有元素的名称列表。

我尝试了以下方法:

openFileDialog1.ShowDialog();
tbSchema.Text = openFileDialog1.FileName;

cbElement.Items.Clear();

XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("", tbSchema.Text);
schemaSet.Compile();
XmlSchema customerSchema = null;
foreach (XmlSchema schema in schemaSet.Schemas())
{
    customerSchema = schema;
}
foreach (XmlSchemaElement element in customerSchema.Elements.Values)
{
    cbElement.Items.Add(element.Name);
}

但它仍然不起作用。

4

1 回答 1

1

你可以尝试这样的事情: -

 XmlDocument doc = new XmlDocument();
 doc.Load("D:\\schema.xsd");                      // Load the document from the root of an ASP.Net website

 XmlElement schemaElement = doc.DocumentElement;  // The root element of the schema document is the <schema> element
 string elementName = schemaElement.LocalName;    // This will print "schema"
 foreach (XmlNode ele in schemaElement.ChildNodes)
 {
  if (ele.LocalName == "element")
  {
     .....
  }
 }
于 2012-11-25T11:52:10.257 回答