现已有一个xml文件.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Template id="1">
<Theme>模板4</Theme>
<Body>模板内bmbnmnm</Body>
</Template>
<Template id="2">
<Theme>模板4</Theme>
<Body>模板内容</Body>
</Template>
</root>我已能取到上面xml里一条值并放到两个文本里,现在我就是想在文本里修改了它的值后,点击"保存"按钮后,它就又把文本框里修改的值再保存到这个xml里去.请问如何把修改后的值再保存到这个xml里去呢?
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Template id="1">
<Theme>模板4</Theme>
<Body>模板内bmbnmnm</Body>
</Template>
<Template id="2">
<Theme>模板4</Theme>
<Body>模板内容</Body>
</Template>
</root>我已能取到上面xml里一条值并放到两个文本里,现在我就是想在文本里修改了它的值后,点击"保存"按钮后,它就又把文本框里修改的值再保存到这个xml里去.请问如何把修改后的值再保存到这个xml里去呢?
xml.Load("XXX.xml");
XmlNode xNode = xml.GetElementsByTagName("Template")[n];
xNode.InnerText = "修改内容";
xml.Save("XXX.xml");
public void SaveXml(string str1, string str2,string strxmlfile)
{
XmlDocument doc = new XmlDocument();
//doc.LoadXml("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><Template id=\"1\"><Theme>模板4</Theme><Body>模板内bmbnmnm</Body></Template><Template id=\"2\"><Theme>模板4</Theme><Body>模板内容</Body></Template></root>");
doc.Load(strxmlfile);
XmlNodeList xnList = doc.SelectSingleNode("root").ChildNodes;
foreach (XmlNode xn in xnList)
{
if (xn.Attributes["ID"].InnerText == "1")
{
XmlNodeList xnchildlist = xn.ChildNodes;
foreach (XmlNode xn1 in xnchildlist)
{
XmlElement xe = (XmlElement)xn1;
if (xe.Name == "Theme")
{
xe.InnerText = str1;
}
if (xe.Name == "Body")
{
xe.InnerText = str2;
}
}
}
}
doc.Save(strxmlfile);
}写代码的速度慢了,有待加强
XmlNode xNode = xml.GetElementsByTagName("Template")[n];
请问一下,这个"n代表"什么呀?
if (xn.Attributes["ID"].InnerText == "1")
应该是if(xn.Attributes["ID"].Value == "1")
会找到多个, n 是下标
doc.Load(fileName); XmlNode root=doc.SelectSingleNode("/root");XmlNodeList nodeList = node.SelectNodes("Template");foreach(XmlNode node in nodeList)
{
//foreach (XmlAttribute temp in node)
//{//} 递归属性
if(node.Attributes["id"]=="1")
{ XmlNode themNode =node.SelectSingleNode("Theme");
themNode.innerText="11111111111111111"; XmlNode themNode =node.SelectSingleNode("Theme");
}}