У меня есть XML-схема, которая находится внутри XML-файла.Это помещено как один из потомков первого Узла.Этот XML-файл представляет собой таблицу.
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<xs:schema>
...
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderID" type="xs:int" minOccurs="0" />
<xs:element name="ProductID" type="xs:int" minOccurs="0" />
<xs:element name="UnitPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="Quantity" type="xs:short" minOccurs="0" />
<xs:element name="Discount" type="xs:float" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
.
.
</xs:schema>
<Record>
// FIELD NODES
</Record>
<Record>
// FIELD NODES
</Record>
.
.
// MORE RECORDS
<NewDataSet>
Мне нужно получить имя и тип полей, чтобы создать объект, который будет представлять запись.Я не могу использовать встроенную функцию ADO.NET для создания набора данных из этого файла.
Я мог бы использовать xmlDocument и проходить по схеме, пока не найду узел с атрибутом name="table"
.
Iищу простой, лучше выглядящий способ сделать выше.Linq to XML был бы наиболее подходящим способом, но, похоже, возникла проблема с Descendants("xs:element")
с более точным знаком ":".