首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确遍历XmlSchema对象

正确遍历XmlSchema对象
EN

Stack Overflow用户
提问于 2017-08-26 03:13:46
回答 1查看 95关注 0票数 0

我正在尝试从一个XmlSchema对象中提取数据,该对象是从一个包含多个表的DataSet中生成的。下面示例中的XmlSchema将导出为完全正确的模式,但我不知道如何遍历它。只有一项,元素总是空的。如何访问XmlSchema对象中的表和列元素?

代码语言:javascript
复制
using System;
using System.IO;
using System.Data;
using System.Collections;
using System.Xml.Schema;

public class Program
{
    public static void Main()
    {
        DataTable table1 = new DataTable("patients");
        table1.Columns.Add("name");
        table1.Columns.Add("id", typeof(int));
        table1.Rows.Add("sam", 1);
        table1.Rows.Add("mark", 2);

        DataTable table2 = new DataTable("medications");
        table2.Columns.Add("id", typeof(int));
        table2.Columns.Add("medication");
        table2.Rows.Add(1, "atenolol");
        table2.Rows.Add(2, "amoxicillin");

        DataSet set = new DataSet("office");
        set.Tables.Add(table1);
        set.Tables.Add(table2);

        using (var reader = new StringReader(set.GetXmlSchema()))
        using (var writer = new StringWriter()) 
        {
            var schema = XmlSchema.Read(reader, (sender, args) => { });
            schema.Write(writer);
            writer.Flush();
            Console.WriteLine(schema.Elements.Values.Count);
            Console.WriteLine(writer.ToString());
        }

        //Console.WriteLine(set.GetXmlSchema());
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-26 04:05:08

我不确定为什么它是这样工作的,但这证明了您的schema对象被正确填充:

代码语言:javascript
复制
string s = set.GetXmlSchema();
using (TextReader w = new StringReader(s)) {

    XmlSchema x = XmlSchema.Read(w, null);
    XmlSchemaElement e = (XmlSchemaElement)x.Items[0];
    XmlSchemaComplexType t = (XmlSchemaComplexType)e.SchemaType;
    XmlSchemaChoice c = (XmlSchemaChoice)t.Particle;
    XmlSchemaElement e2 = (XmlSchemaElement)c.Items[0];
    Console.WriteLine(e2.Name);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45888091

复制
相关文章

相似问题

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