日期:2014-05-18  浏览次数:20778 次

求助,谢谢
<?xml version="1.0" encoding="ISO-8859-1"?>
<UP>

<test>
<AID>123456</AID>
<BID>1</BID>
<C>02</C>
<D>2012-03-14</D>
<E>张三</E>
<BZ>测试</BZ>
</test>
<shouji_Collection>
<shouji>
<ZID>201</ZID>
<AID>123456</AID>
<B>2</B>
<MC>TEST</MC>
<TIME>2012-03-13</TIME>
<LY />
</shouji>
</shouji_Collection>

</UP>

我现在需要把节点为:test和shouji里面的数据插入到数据库表中。
有test和shouji为不同的两个表。
我的想法是遍历循环两个节点.
循环test后,写一个SQL的插入语句。
循环shouji后,写一个SQL的插入语句。
不知道这样可以不?大家会有另外的方法告诉我一下吧,谢谢

------解决方案--------------------
完全可以
------解决方案--------------------
可以。你也可以把数据全部准备好后再进行数据库操作
------解决方案--------------------
应该是都有 这么做可以的
------解决方案--------------------
C# code
string test = @"<?xml version='1.0' encoding='ISO-8859-1'?><UP><test><AID>123456</AID><BID>1</BID><C>02</C><D>2012-03-14</D><E>张三</E><BZ>测试</BZ></test></UP>";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(test);
            XmlNodeList xnl = xmlDoc.SelectNodes("UP/test");

            foreach (XmlNode linkNode in xnl)
            {
                XmlElement xe = (XmlElement)linkNode;//将子节点类型转换为XmlElement类型
                string AID = xe.SelectSingleNode("AID").InnerText.Trim();
                string BID = xe.SelectSingleNode("BID").InnerText.Trim();
                string C = xe.SelectSingleNode("C").InnerText.Trim();
                string D = xe.SelectSingleNode("D").InnerText.Trim();
                string E = xe.SelectSingleNode("E").InnerText.Trim();
                string BZ = xe.SelectSingleNode("BZ").InnerText.Trim();
                //inser into aa(a,v,v,v,v,v)values();
            }