я сейчас работаю над чем-то, где мне нужно отобразить все вложенные элементы xsd в виде списка содержимого в asp. net мой текущий код
XmlSchema schema = new XmlSchema();
schema = XmlSchema.Read(new XmlTextReader("example.xsd", null);
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(schema);
schemaSet.Compile();
XmlSchema workingSchema = null;
foreach (XmlSchema sc in schemaSet.Schemas())
{
workingSchema = sc;
}
DropDownList1.Items.Clear();
///cycle through elements, adding to dropdownlist
foreach (XmlSchemaElement element in workingSchema.Elements.Values)
{
DropDownList1.Items.Add(element.Name);
// Get the complex type of the element.
XmlSchemaComplexType complexType = element.ElementSchemaType as XmlSchemaComplexType;
if (complexType!=null)
{
XmlSchemaSequence seq = (XmlSchemaSequence)complexType.ContentTypeParticle;
foreach (XmlSchemaElement element2 in seq.Items)
{
DropDownList1.Items.Add(element2.Name);
}
}
}
это файл xsd, который я использовал
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd"
targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd"
elementFormDefault="qualified">
<xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
<xsd:complexType name="PurchaseOrderType">
<xsd:sequence>
<xsd:element name="ShipTo" type="tns:USAddress" maxOccurs="2"/>
<xsd:element name="BillTo" type="tns:USAddress"/>
</xsd:sequence>
<xsd:attribute name="OrderDate" type="xsd:date"/>
</xsd:complexType>
<xsd:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:integer"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
</xsd:complexType>
</xsd:schema>
здесь он отображает только заказ на покупку, доставку, счет, но мне нужно отобразить все, включая название, улицу, город и т. Д. c. как это сделать