我有一个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);
}


但它仍然不起作用。

最佳答案

您可以尝试这样的事情:

 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")
  {
     .....
  }
 }

关于c# - C#中的XSD元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13550722/

10-10 12:44