首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >myXmlDataDoc.DataSet.ReadXml问题

myXmlDataDoc.DataSet.ReadXml问题
EN

Stack Overflow用户
提问于 2010-05-28 09:01:08
回答 1查看 373关注 0票数 0

我正在使用

代码语言:javascript
复制
myXmlDataDoc.DataSet.ReadXml(xml_file_name, XmlReadMode.InferSchema);

要在通过读取xml架构创建的dataset中填充表,请执行以下操作:

代码语言:javascript
复制
myStreamReader = new StreamReader(xsd_file_name);
myXmlDataDoc.DataSet.ReadXmlSchema(myStreamReader);

我面临的问题是当涉及到读取xml标记时:

代码语言:javascript
复制
<xs:element name="parameters" minOccurs="0" maxOccurs="12" type="xs:unsignedInt"/>

readXml函数将元素放在不同的表中,并且表中的所有内容都是0。下面是数据表的打印输出:

代码语言:javascript
复制
TableName: test_data
 100     2   1  
TableName: parameters
 1   0
 2   0
 3   0
 4   0
 5   0
 6   0
 7   0
 8   0
 9   0
 10  0
 11  0
 12  0

在我的xsd文件中,我使用以下代码表示一个数组:

代码语言:javascript
复制
<xs:element name="test_data">
    <xs:complexType>
        <xs:complexContent>
            <xs:extension base="test_base">
                <xs:sequence>
                    <xs:element name="a" type="xs:unsignedShort"/>
                    <xs:element name="b" type="xs:unsignedShort"/>
                    <xs:element name="c" type="xs:unsignedInt"/>
                    <xs:element name="parameters" minOccurs="0" maxOccurs="12" type="xs:unsignedInt"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:element>

下面是我的xml文件:

代码语言:javascript
复制
<test_data>
    <a>100</a>
    <b>2</b>
    <c>1</c>
    <parameters>1</parameters>
    <parameters>2</parameters>
    <parameters>3</parameters>
    <parameters>4</parameters>
    <parameters>5</parameters>
    <parameters>6</parameters>
    <parameters>7</parameters>
    <parameters>8</parameters>
    <parameters>9</parameters>
    <parameters>10</parameters>
    <parameters>11</parameters>
    <parameters>12</parameters>
</test_data>

我期望在readXml函数调用之后,"parameters“是test_data表的一部分。

代码语言:javascript
复制
TableName: test_data
 100     2   1  1   2  3  4  5  6  7  8  9  10  11  12

有人知道哪里出问题了吗?

EN

回答 1

Stack Overflow用户

发布于 2010-05-28 09:54:22

使用DataSet限制您只能使用映射到关系模型的XML。这有时并不是您所期望的。

我建议您手动创建一个DataSet,或者使用Visual Studio中的DataSet设计器创建一个您认为与您正在处理的数据最接近的a。然后查看生成的XSD或使用DataSet.WriteXmlSchema将模式写入文件。看看这个文件--这就是您应该使用的XML模式。

我不认为你会让它接受complexContent,甚至扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2926058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档