xml:<?xml version="1.0" encoding="gb2312"?>
ddddd
ddd
fff
eeee
我想实现每点击一次button,就把输入的username和password追加到xml中,不覆盖之前的内容,添加一个节点。
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("d:\\bat\\data.xml");
//XmlNode node1 = xmlDoc.SelectSingleNode("/Config/Users");
//Console.WriteLine(node1);
XmlNode root = xmlDoc.SelectSingleNode("Config");//查找<Config>
XmlElement xe1 = xmlDoc.CreateElement("Users");//创建一个<Users>节点
XmlElement xesub1 = xmlDoc.CreateElement("username");
xesub1.InnerText = textBox1.Text;//设置文本节点
xe1.PrependChild(xesub1);//添加到<Users>节点中
XmlElement xesub2 = xmlDoc.CreateElement("password");
xesub2.InnerText = textBox2.Text;
xe1.AppendChild(xesub2);
root.AppendChild(xe1);//添加到<Config>节点中
xmlDoc.Save("d:\\bat\\data.xml");
}
这是我的点击方法,每次添加都会覆盖掉, 请各位大神帮忙~
ddddd
ddd
hh
hh
xml没发好
晕,不会弄图片,就是跟节点是Config,子节点Users,每次添加一个Users。
你的XML代码看不到,可以参考这个来写一下:
XElement srcTree = new XElement("Root",
new XElement("Element1", 1),
new XElement("Element2", 2),
new XElement("Element3", 3),
new XElement("Element4", 4),
new XElement("Element5", 5)
);
XElement xmlTree = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5)
);
xmlTree.Add(new XElement("NewChild", "new content"));
xmlTree.Add(
from el in srcTree.Elements()
where (int)el > 3
select el
);
// Even though Child9 does not exist in srcTree, the following statement will not
// throw an exception, and nothing will be added to xmlTree.
xmlTree.Add(srcTree.Element("Child9"));
Console.WriteLine(xmlTree);
结果:
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<NewChild>new content</NewChild>
<Element4>4</Element4>
<Element5>5</Element5>
</Root>