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不就行了吗?
--------------------编程问答--------------------
最简单用string.Format("<rtmpHost>{0}</rtmpHost>",name) --------------------编程问答-------------------- 自己构造下就行了嘛 --------------------编程问答--------------------
可以就我说的这个写一个例子吗 --------------------编程问答-------------------- LZ插入的数据是只插一次即“更新”,还是后续会陆续的往指定节点插入数据呢?
如果只插入一次可以把xml做为一个字符串读出来,然后替换字符串<rtmpHost>{rtmpHost}</rtmpHost> ,把{rtmpHost}替换成你想插入的字符串;
如果后续会陆续的往指定节点插入数据,需要遍历找到最后一次插入的结点,将其插入;
补充:.NET技术 , ASP.NET