无法获取具有属性的xs:元素

时间:2013-09-02 03:30:04

标签: c# xml xsd

我有包含和不包含属性的XML元素

<xs:element name='element0'>
 <xs:complexType name='internationalShoeSize'>
  <xs:annotation>
   <xs:documentation>Data ...</xs:documentation>
 </xs:annotation>
<xs:complexType>
  <xs:simpleContent>
   <xs:extension base='xs:string'>
     <xs:attribute name='attribute0' type='xs:string' />
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
</xs:element>


<xs:element name='element1'>
 <xs:complexType name='internationalShoeSize'>
  <xs:annotation>
   <xs:documentation>Data1 ...</xs:documentation>
 </xs:annotation>
</xs:element>

当我获取DataTable中的元素时,只获取没有属性的元素。

foreach(DataColum colum in table.colums)
{
  ....
}

这个foreach只获取没有属性的元素:element1。 如何获得所有元素,包含和不包含属性?

1 个答案:

答案 0 :(得分:0)

我认为你需要从一个更好的架构片段开始,你发布的那个架构片段已经被破坏了。我把你的东西清理干净了 - 在这个过程中可能会偏离你的意图;随意拿我的样本并用它来编辑你的问题以便更好地说明。

(Alternatively, if you have a sample XML, post that instead - it might be even easier to explain.)

<?xml version="1.0" encoding="utf-8" ?>
<!-- XML Schema generated by QTAssistant/XSD Module (http://www.paschidev.com) -->
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" xmlns="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="element0" type="internationalShoeSize"/>

    <xs:element name="element1" type="internationalShoeSize"/>

    <xs:complexType name="internationalShoeSize">
        <xs:annotation>
            <xs:documentation>Data ...</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="attribute0" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

</xs:schema>

同时,这是您将获得的等效数据结构(在.NET上):

enter image description here

你的属性在那里......