用C#程序循环读取如下格式的XML文件并输入至oracle. 最后子节点的循环读取怎么都实现不了,如果方便的话请贴出代码,万分感谢数据库存储格式:
<?xml version="1.0"?>
<EXEAM_SERVICE>
    <CLASS>1</CLASS>
    <GRADE>6</GRADE>
    <DETAIL_LIST>
        <DETAIL>
            <NAME>TonyW</NAME>
            <AGE>12</AGE>
            <SEX>男</SEX>
            <SCORE_LIST>
                <SCORE>
                    <SUBJECT>01</SUBJECT>
                    <PASS>1</PASS>
                    <QTY>60</QTY>
                </SCORE>
                <SCORE>
                    <SUBJECT>02</SUBJECT>
                    <PASS>1</PASS>
                    <QTY>70</QTY>
                </SCORE>
                <SCORE>
                    <SUBJECT>03</SUBJECT>
                    <PASS>1</PASS>
                    <QTY>80</QTY>
                </SCORE>
                <SCORE>
                    <SUBJECT>04</SUBJECT>
                    <PASS>1</PASS>
                    <QTY>90</QTY>
                </SCORE>
            </SCORE_LIST>
        </DETAIL>
    </DETAIL_LIST>
</EXEAM_SERVICE>

解决方案 »

  1.   

    读入dataset再操作吧
      

  2.   

    这个不是很规则的xml么,你直接xml反序列化不就行了? http://blog.csdn.net/starfd/article/details/48686239
      

  3.   

    百度一下  c#读取xml
    你都发帖了。难道还不能百度一下吗?
      

  4.   

    百度了,可是搞不出来,只能读取到第一个score
      

  5.   

    给你一个我之前解析XML 的方法、你看看能改造一下用上不 。T 是一个实体类 与XML 保持一致。
    private T xmlRefelct<T>(XmlNode node) where T : new()
            {
                Type type = typeof(T);
                PropertyInfo[] props = type.GetProperties();
                T t = new T();            XmlNodeList nodelist = node.ChildNodes;            for (int i = 0; i < nodelist.Count; i++)
                {
                    foreach (PropertyInfo prop in props)
                    {
                        if (prop.Name == nodelist[i].Name)
                        {
                            try
                            {
                                prop.SetValue(t, nodelist[i].InnerText, null);
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }                    }                }
                }            return t;
            }
      

  6.   

    这里面有详细的参考代码:http://www.cnblogs.com/guwei4037/p/3499184.html
      

  7.   

    可以直接反序列化。
    using System.Xml.Serialization;
    定义一个与xml结构一致的Class A
    var test = new A();
    var xmlDeserializer = new XmlSerializer(A.GetType());
    var rdr = new StringReader("xml文本");
    test = (A)xmlDeserializer.Deserialize(rdr);
      

  8.   

    搜索C# xml 
    再搜索C# Oracle insert