当前位置:编程学习 > C#/ASP.NET >>

xml问题求助

我想实现这样一个功能 把数据插入数据库的同时 也插入到XML中 

数据插入数据库
  protected void Button1_Click(object sender, EventArgs e)
    {

        string name = "test2";
        string uppath = "test3";
        string playpath = "test4";
        string imgpath = "test5";
        OleDbConnection myConnectionString = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\Visual Studio 2008\\WebSites\\3-29\\App_Data\\media.mdb");
        OleDbCommand oldC = new OleDbCommand("insert into Media(MName,MUppath,MPlaypath,MImgpath) values (@MName,@MUppath,@MPlaypath,@MImgpath)", myConnectionString);
        oldC.Parameters.Add("@MName", name);
        oldC.Parameters.Add("@MUppath", uppath);
        oldC.Parameters.Add("@MPlaypath", playpath);
        oldC.Parameters.Add("@MImgpath", imgpath);
        myConnectionString.Open();
        oldC.ExecuteNonQuery();
        myConnectionString.Close();
        this.Dispose();
    }


数据插入XML
 private void xmlInsert()
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(Server.MapPath("play_demo.xml"));
       


写到这里 就不知道该怎么继续了 
XML是这个样子的
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <Stream>
    <rtmpHost>test2</rtmpHost>
    <StreamName>test3</StreamName>
  </Stream>
  <menu>
    <StreamName>test3</StreamName>
  </menu>
</root>


我想把第一段代码的 test2加到XML中的<rtmpHost> 和 test4加到<StreamName>中,即这个样子
]<?xml version="1.0" encoding="UTF-8"?>
<root>
  <Stream>
    <rtmpHost>test2</rtmpHost>
    <rtmpHost>新增数据</rtmpHost>
    <StreamName>test3</StreamName>
    <StreamName>新增数据</StreamName>
  </Stream>
  <menu>
    <StreamName>test3</StreamName>
    <StreamName>新增数据</StreamName>
  </menu>
</root>


想着把代码都写在一起不好,所以写了个 xmlInsert() 但是问题来了

问题1:xmlInsert();放在第一段代码的哪个地方比较好?
问题2:xmlInsert()应该怎么写,才能确保达到我想要的效果?(问题分支1:第一段代码的值怎么传到xmlInsert()中? 分支2:怎么在XML表中最后新增想要插入的数据)
百度了一下  感觉还是不太明白 请各位帮帮忙 有看见过这方面例子的也请发一下 我好去参考 谢谢了 --------------------编程问答-------------------- 你用DataSet更新数据库,然后用DataSet.WriteXML不就行了吗?
--------------------编程问答--------------------
引用 楼主 begun06081 的回复:
我想实现这样一个功能 把数据插入数据库的同时 也插入到XML中 

数据插入数据库
C# code?123456789101112131415161718  protected void Button1_Click(object sender, EventArgs e)    {         string name = "test2";        strin……

最简单用string.Format("<rtmpHost>{0}</rtmpHost>",name) --------------------编程问答-------------------- 自己构造下就行了嘛 --------------------编程问答--------------------
引用 1 楼 gxingmin 的回复:
你用DataSet更新数据库,然后用DataSet.WriteXML不就行了吗?

可以就我说的这个写一个例子吗 --------------------编程问答-------------------- LZ插入的数据是只插一次即“更新”,还是后续会陆续的往指定节点插入数据呢?
如果只插入一次可以把xml做为一个字符串读出来,然后替换字符串<rtmpHost>{rtmpHost}</rtmpHost> ,把{rtmpHost}替换成你想插入的字符串;
如果后续会陆续的往指定节点插入数据,需要遍历找到最后一次插入的结点,将其插入;
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,