如题``我的代码是这样的```
XmlDocument document = new XmlDocument();
document.Load(fileurl);
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing("online", "");
navigator.AppendChild("<user><name>" + uname + "</name><logtime>" + time + "</logtime></user>");
从MSDN来看```XPathNavigator 是能修改和添加 XML文件的吧`````不知道为什么```
我运行上面代码的时候``从断点来看``navigator里面已经把内容添加进去了``
但是却不能写到XML文件??为什么???
而且navigator.canedit也是为true的```在线等```我已经弄了几个小时了```急求大虾指点下```
XmlDocument document = new XmlDocument();
document.Load(fileurl);
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing("online", "");
navigator.AppendChild("<user><name>" + uname + "</name><logtime>" + time + "</logtime></user>");
从MSDN来看```XPathNavigator 是能修改和添加 XML文件的吧`````不知道为什么```
我运行上面代码的时候``从断点来看``navigator里面已经把内容添加进去了``
但是却不能写到XML文件??为什么???
而且navigator.canedit也是为true的```在线等```我已经弄了几个小时了```急求大虾指点下```
上帝啊。。派一个人来搭救搭救我吧````
使用 XmlDocument doc = new XmlDocument()
doc.Load(XmlReader.Create(fileurl));
XmlNode root = doc.DocumentElement;
XmlElement elem1 = doc.CreateElement("name");
elem1.InnerText = uname;
XmlElement elem2 = doc.CreateElement("logtime");
elem2.InnerText = time;
XmlNode userelem = doc.CreateNode(XmlNodeType.Element, "user", "");
userelem.AppendChild(elem1);
userelem.AppendChild(elem2);
root.AppendChild(userelem);
doc.Save(fileurl);来保存XML文件的时候```又提示 文件在被使用``我晕啊```怀疑这个问题是不是和我使用静态类的关系````
救命啊``崩溃ing
汗```
我用using ``提示
错误 3 “System.Xml.XmlDocument”: using 语句中使用的类型必须可隐式转换为“System.IDisposable” 好郁闷```还有其他方法关闭doc么?
using(StreamReader sr = new StreamReader(filename)){
...
doc.Load(sr);
...
}
这样应该就可以了
XmlDocument doc = new XmlDocument();
doc.Load(sr);
...
}
doc.save(filename);
StreamReader sr = new StreamReader();一样也不可以用using(){}.
{
using (StreamReader sr = new StreamReader(fileurl))
{
XmlDocument doc = new XmlDocument();
doc.Load(sr);
XmlNode root = doc.DocumentElement;
XmlElement elem1 = doc.CreateElement("name");
elem1.InnerText = uname;
XmlElement elem2 = doc.CreateElement("logtime");
elem2.InnerText = time;
XmlNode userelem = doc.CreateNode(XmlNodeType.Element, "user", "");
userelem.AppendChild(elem1);
userelem.AppendChild(elem2);
root.AppendChild(userelem);
doc.Save(fileurl);
doc = null;
sr.Close();
sr.Dispose();
}
}
catch (Exception ex)
{ }晕死了````而且我把静态类的其他方法里面的内容都全部注释掉了```
晕``啊```````彻底无语了``
这个问题搞了一个下午了``
StreamReader sr = new StreamReader();一样也不可以用using(){}.
不用using 也一样提示文件被使用```晕死了``
而且我都把VS关闭了```再从新打开都还是这样提示呢``晕倒了````
{
using (StreamReader sr = new StreamReader(fileurl))
{
XmlDocument doc = new XmlDocument();
doc.Load(sr);
}
XmlNode root = doc.DocumentElement;
XmlElement elem1 = doc.CreateElement("name");
elem1.InnerText = uname;
XmlElement elem2 = doc.CreateElement("logtime");
elem2.InnerText = time;
XmlNode userelem = doc.CreateNode(XmlNodeType.Element, "user", "");
userelem.AppendChild(elem1);
userelem.AppendChild(elem2);
root.AppendChild(userelem);
doc.Save(fileurl);
doc = null;
}
catch (Exception ex)
{ }
你这样再看看,刚才的sr没有释放掉,你大括号位置不对
分数不多``请多多见谅``!!!