xml 数据 写入 数据库 转帖
2008-03-21 11:34
741 查看
在操练之前,先准备一个XML文件FirstXml.xml和FirstXml.xsd,并且这两个文件都在根目录下面,其内容分别如下:
FirstXml.xml
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
<ID>1</ID>
<TEXT>AAA</TEXT>
<BELONG>0</BELONG>
</Table>
<Table>
<ID>2</ID>
<TEXT>BBB</TEXT>
<BELONG>0</BELONG>
</Table>
<Table>
<ID>3</ID>
<TEXT>CCC</TEXT>
<BELONG>0</BELONG>
</Table>
</NewDataSet>
FirstXml.xsd
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool to store the dataset designer's layout information.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:Table" ZOrder="1" X="70" Y="70" Height="79" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="75" />
</Shapes>
<Connectors />
</DiagramLayout>
2.下面的代码会将上面的XML文档写入数据库
你在需要的时候调用此方法就可以将XML文档中的内容写入数据库.
3.也可以将XML文档读入到DATASET中,如果您添加了一个GRIDVIEW(VS2005)或者GRIDVIEW(VS2003),就可以显示DATASET中的数据了,代码如下:
public void Show()
...{
ReadTableToXml();
DataSet ds = new DataSet();
string pathxml = Server.MapPath("~//") + "FirstXml.xml";
string pathxsd = Server.MapPath("~//") + "FirstXml.xsd";
ds.ReadXmlSchema(pathxsd);
ds.ReadXml(pathxml);
this.GridView1.DataSource = ds.Tables["Table"];
this.GridView1.DataBind();
}
4.在2中是将XML文档直接写入数据库的,那么有人会问,是不是可以先将XML文档读入DATASET中,然后将DATASET中的内容更新到数据库中?答案是肯定的.咱们现在就以上面的XML文档为例,在操作之前应该先建立一个和XML文档的数据结构相同数据库.其实在2中也是这么做的.这个数据库就上TEST,所用的数据表就是TREE.下面的代码实现了上述的功能.
public void ReadXmlToSaveToTableMethordone()
...{
SqlConnection conn = new SqlConnection("server=david;database=test;uid=sa;pwd=");
SqlDataAdapter da = new SqlDataAdapter("select * from tree where id=-1", conn);
SqlCommandBuilder cbuider = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
string pathxml = Server.MapPath("~//") + "FirstXml.xml";
string pathxsd = Server.MapPath("~//") + "FirstXml.xsd";
ds.ReadXmlSchema(pathxsd);
ds.ReadXml(pathxml);
da.Update(ds);
Response.Write("okokokokokok");
}
到此为至,你就会发现,将一个XML文档写入数据库有两中方案,一种是直接将XML文档写入数据库,就如2,另一种是将XML文档先读如到DATASET,然后将DATASET中的内容写入数据库
FirstXml.xml
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
<ID>1</ID>
<TEXT>AAA</TEXT>
<BELONG>0</BELONG>
</Table>
<Table>
<ID>2</ID>
<TEXT>BBB</TEXT>
<BELONG>0</BELONG>
</Table>
<Table>
<ID>3</ID>
<TEXT>CCC</TEXT>
<BELONG>0</BELONG>
</Table>
</NewDataSet>
FirstXml.xsd
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool to store the dataset designer's layout information.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:Table" ZOrder="1" X="70" Y="70" Height="79" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="22" SplitterPosition="75" />
</Shapes>
<Connectors />
</DiagramLayout>
2.下面的代码会将上面的XML文档写入数据库
你在需要的时候调用此方法就可以将XML文档中的内容写入数据库.
3.也可以将XML文档读入到DATASET中,如果您添加了一个GRIDVIEW(VS2005)或者GRIDVIEW(VS2003),就可以显示DATASET中的数据了,代码如下:
public void Show()
...{
ReadTableToXml();
DataSet ds = new DataSet();
string pathxml = Server.MapPath("~//") + "FirstXml.xml";
string pathxsd = Server.MapPath("~//") + "FirstXml.xsd";
ds.ReadXmlSchema(pathxsd);
ds.ReadXml(pathxml);
this.GridView1.DataSource = ds.Tables["Table"];
this.GridView1.DataBind();
}
4.在2中是将XML文档直接写入数据库的,那么有人会问,是不是可以先将XML文档读入DATASET中,然后将DATASET中的内容更新到数据库中?答案是肯定的.咱们现在就以上面的XML文档为例,在操作之前应该先建立一个和XML文档的数据结构相同数据库.其实在2中也是这么做的.这个数据库就上TEST,所用的数据表就是TREE.下面的代码实现了上述的功能.
public void ReadXmlToSaveToTableMethordone()
...{
SqlConnection conn = new SqlConnection("server=david;database=test;uid=sa;pwd=");
SqlDataAdapter da = new SqlDataAdapter("select * from tree where id=-1", conn);
SqlCommandBuilder cbuider = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
string pathxml = Server.MapPath("~//") + "FirstXml.xml";
string pathxsd = Server.MapPath("~//") + "FirstXml.xsd";
ds.ReadXmlSchema(pathxsd);
ds.ReadXml(pathxml);
da.Update(ds);
Response.Write("okokokokokok");
}
到此为至,你就会发现,将一个XML文档写入数据库有两中方案,一种是直接将XML文档写入数据库,就如2,另一种是将XML文档先读如到DATASET,然后将DATASET中的内容写入数据库
相关文章推荐
- As3.0 xml + Loader应用代码
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 一个简单的asp数据库操作类
- 九种防MDB数据库被下载的方法小结
- C#自动创建数据库实现代码
- ASP XML制作菜单管理程序
- ASP编程中连接数据库和数据库操作的常用代码
- asp下轻松实现将上传图片到数据库的代码
- 让 Asp 与 XML 交互
- 气象 XML 数据源应用程序开发指南-操作检查列表
- ASP连接11种数据库语法总结
- MySQL数据库的出错代码列表
- 小议sqlserver数据库主键选取策略
- xml 中的冒号 读取问题的解决
- DataSet 添加数据集、行、列、主键和外键等操作示例
- asp.net下创建、查询、修改带名称空间的 XML 文件的例子
- xml 与javascript结合的问题解决方法
- 解决MSSQL2005远程连接sql2000非默认端口数据库的问题
- 数据库 日期加减处理