我有一个放置在XML文件中的XML模式。 它被放置为第一个Node的后代之一。此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"
属性的节点。
我正在寻找一种简单易用的方法来完成上述工作。
Linq to XML将是最合适的方式,但它似乎有问题
Descendants("xs:element")
使用“:”更具体。