注册 登录
编程论坛 ASP.NET技术论坛

[求助]如何用asp.net实现 把xml的数据导入到access中

yf831028 发布于 2006-04-28 10:48, 4358 次点击
如何用实现 把xml的数据导入到access中?
22 回复
#2
小笨笨2006-04-29 16:37
asp.net对XML文件的一些简单操作

在开始之前,先建立一个smallfools.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<smallfoolsRoot>
<poems>
<author>王维</author>
<title>竹里馆</title>
<content>独坐幽篁里,弹琴复长啸。深林人不知,明月来相照。</content>
</poems>
<poems>
<author>孟浩然</author>
<title>宿建德江</title>
<content>移舟泊烟渚,日暮客愁新。野旷天低树,江清月近人</content>
</poems>
<poems>
<author>李白</author>
<title>杜陵绝句</title>
<content>南登杜陵上,北望五陵间。秋水明落日,流光灭远山</content>
</poems>
<poems>
<author>李白</author>
<title>望庐山瀑布</title>
<content>日照香炉生紫烟,遥看瀑布挂前川。飞流直下三千尺,疑是银河落九天。</content>
</poems>
<poems>
<author>李商隐</author>
<title>锦瑟</title>
<content>锦瑟无端五十弦,一弦一柱思华年。庄生晓梦迷蝴蝶,望帝春心托杜鹃。沧海月明珠有泪,蓝田日暖玉生烟。此情可待成追忆,只是当时已惘然。</content>
</poems>
</smallfoolsRoot>

下面的操作都在这个xml文件里进行。

操作一:读取整个XML文件,并在DataGrid里显示出来:
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("smallfools.xml"));
if (ds.Tables.Count>0)
{
this.DataGrid1.DataSource = ds.Tables[0].DefaultView;
this.DataGrid1.DataBind();
}

操作二:获得第一个节点的值

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
XmlNode xmlNode = xmlDoc.DocumentElement.FirstChild;
if (xmlNode!=null)
{
this.tbauthor.Text = xmlNode["author"].InnerText;
this.tbtitle.Text = xmlNode["title"].InnerText;
this.tbcontent.Text = xmlNode["content"].InnerText;
ViewState["Count"] = 0;
}

操作三:查看某一个节点的内容
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
XmlNodeList xmlNodeList = xmlDoc.DocumentElement.ChildNodes;
XmlNode xmlNode = xmlNodeList.Item(0);
this.tbauthor.Text = xmlNode["author"].InnerText;
this.tbtitle.Text = xmlNode["title"].InnerText;
this.tbcontent.Text = xmlNode["content"].InnerText;

操作四:添加一个节点
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
//创建一个新节点
XmlElement newElement = xmlDoc.CreateElement("poems");
//创建newElement下的节点
XmlElement elauthor = xmlDoc.CreateElement("author");
XmlElement eltitle = xmlDoc.CreateElement("title");
XmlElement elcontent = xmlDoc.CreateElement("content");
elauthor.InnerText = this.tbaddauthor.Text.Trim();
eltitle.InnerText = this.tbaddtitle.Text.Trim();
elcontent.InnerText = this.tbaddcontent.Text.Trim();
//将newElement下的节点加到newElement上
newElement.AppendChild(elauthor);
newElement.AppendChild(eltitle);
newElement.AppendChild(elcontent);
//将newElement加入到xml文件中(加在最后一条记录上)
xmlDoc.DocumentElement.AppendChild(newElement);
//如果要插到某条记录之后也可以用(加在第一条记录之后)
//xmlDoc.DocumentElement.InsertAfter(newElement,xmlDoc.DocumentElement.ChildNodes.Item(0));
//如果要插到某条记录之前也可以用(加在第一条记录之前)
//xmlDoc.DocumentElement.InsertBefore(newElement,xmlDoc.DocumentElement.ChildNodes.Item(0));
//存盘
xmlDoc.Save(Server.MapPath("smallfools.xml"));

操作五:删除某个节点
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
XmlNode xmlNode = xmlDoc.DocumentElement.ChildNodes.Item(0);
xmlNode.ParentNode.RemoveChild(xmlNode);
xmlDoc.Save(Server.MapPath("smallfools.xml"));

操作六:编辑某个节点
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
//获得节点列表
XmlNode xmlNode = xmlDoc.DocumentElement.ChildNodes.Item(1);
xmlNode["author"].InnerText = this.tbauthor.Text;
xmlNode["title"].InnerText = this.tbtitle.Text;
xmlNode["content"].InnerText = this.tbcontent.Text;
xmlDoc.Save(Server.MapPath("smallfools.xml"));

操作七:查找记录
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
XmlNodeList nodelist = xmlDoc.SelectNodes("smallfoolsRoot/poems[author='"+this.tbsearch.Text.Trim()+"']");

操作八:糊模查找记录
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("smallfools.xml"));
XmlNodeList nodelist = xmlDoc.SelectNodes("smallfoolsRoot/poems[contains(author,'"+this.tbsearch.Text.Trim()+"')]");

源码下载:
只有本站会员才能查看附件,请 登录


http://smallfools.blog.hexun.com/3382068_d.html
#3
小笨笨2006-04-29 16:39
你要的方法如上,只要把xml文件读入到dataset里,再从dataset的table里,一行行把记录读出来,再写入access就行了。
#4
water1234562006-04-29 16:45

顶顶,不错的.

#5
wmzzzz2006-04-29 17:00
先谢过....以后再瞧瞧,,再在瞧不懂
#6
lanjinbo2006-05-03 23:38
谢谢啦
#7
ybblake2006-06-11 07:29

受益非浅呀!
呵呵,好,就是厉害呀!

#8
duyong0072006-08-18 11:20
哈哈哈哈
好东西啊
谢谢了
#9
wshw1232006-09-12 10:38
以后还有这么好的东西,一定要大字写出来,在这里谢过了
#10
cfan4562006-09-26 12:21

弄下来, 慢慢的看

#11
メ冰枫ぱ雪2006-10-09 06:20
Asp 有读取过XML,现在看看ASP。NET上怎样的吧,估计也差不多。。
#12
pmbdlw2006-10-31 11:47
弄下来了,谢了!
#13
adu5202006-10-31 16:31
什么东东

早就发过了
还发
#14
学技术2006-11-03 06:36
还搞!
从那里复制的哦!不过还是顶~
从XML到数据库~反过来也行~
#15
pinkyll2006-12-27 11:42

好!加油

#16
fqbnet20082007-01-04 16:25
真是不错,very good!
#17
Arui2007-03-02 19:05

真是好东西!顶

#18
ice3602007-03-08 10:37
收藏,感谢!学习中。。。。
#19
beniao2007-05-09 17:57

雅特士为你提供最新,最全面的各种大小项目作业。
上班族/学生/Soho/工作室/公司在这里都可找到你想工作;
网上接项目家里工作,工作找钱两不误,点击下面进入注册页面:
http://www.yateshi.com/common/reg.php?uid=69719

#20
beniao2007-05-09 18:11
1.关键是学会那个思想就
2.学会操作XML
3.最基本的数据库操作了


雅特士为你提供最新,最全面的各种大小项目作业。
上班族/学生/Soho/工作室/公司在这里都可找到你想工作;
网上接项目家里工作,工作找钱两不误,点击下面进入注册页面:
http://www.yateshi.com/common/reg.php?uid=69719
#21
smiler88482007-07-30 15:28
好人啊,非常感谢。祝你中500万大奖。
1