第二次发帖提问,第一次发帖没有一个人理我!加大分值
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("tree.xml"));
XmlNode node=doc.SelectSingleNode("/TREENODES/treenode[@Text='news']");
node=doc.CreateElement("treenode");
XmlAttribute xmlattr = doc.CreateAttribute("Text");
xmlattr.Value = XmlConvert.DecodeName("access");
node.Attributes.Append(xmlattr);
doc.AppendChild(node);
doc.Save(Server.MapPath("tree.xml"));
tree.xml 的格式
<?xml version="1.0" encoding="gb2312"?>
<TREENODES>
<treenode Text="Blog">
<treenode Text="VB.net" NavigateUrl="http://www.bjpeu.edu.cn/~yanglb/aspj/" />
<treenode Text="C#" NavigateUrl="http://www.163.com" />
<treenode Text="js" NavigateUrl="" />
</treenode>
<treenode Text="news">
<treenode Text="SqlServer" />
<treenode Text="Orcale" />
<treenode Text="db2" />
</treenode>
</TREENODES>
错误提示:
异常详细信息: System.InvalidOperationException: 此文档已具有 DocumentElement 节点。
行 39: doc.AppendChild(node);
我不知道哪里错了,我是在网上看资料才这样的。
问题点数:100、回复次数:8Top
1 楼tigerwen01(小虎)回复于 2005-08-02 11:08:31 得分 10
可能是子节点名字treenode相同,改一下试试。Top
2 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2005-08-02 11:09:45 得分 50
doc.AppendChild(node);
-----------------------
应该是node..AppendChild(node);
不是doc,你得找到需要添加的父节点
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("tree.xml"));
XmlNode node=doc.SelectSingleNode("/TREENODES/treenode[@Text='news']");
XmlNode node1=doc.CreateElement("treenode");
XmlAttribute xmlattr = doc.CreateAttribute("Text");
xmlattr.Value = XmlConvert.DecodeName("access");
node1.Attributes.Append(xmlattr);
node.AppendChild(node1);
doc.Save(Server.MapPath("tree.xml"));
Top
3 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2005-08-02 11:13:13 得分 10
还有就是建议改一下node的名字
子节点与父节点的名字最好不要相同Top
4 楼wxqq2001(就让我用一生等待)回复于 2005-08-02 11:14:22 得分 10
同意楼上 应用 node.AppendChild(node1);
不是doc添加根结点.
Top
5 楼hdt(倦怠)回复于 2005-08-02 11:15:48 得分 10
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
XmlDocument doc = new XmlDocument();
doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>");
XmlNode root = doc.DocumentElement;
//Create a new node.
XmlElement elem = doc.CreateElement("price");
elem.InnerText="19.95";
//Add the node to the document.
root.AppendChild(elem);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Top
6 楼erlzj(徐州师大--皮皮鲁)回复于 2005-08-02 11:33:14 得分 0
哦,我试试看,顶一个。
看来分多了就是好,终于有人回了。呵呵,谢谢楼上诸位!Top
7 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-02 12:33:43 得分 10
关注学习Top
8 楼erlzj(徐州师大--皮皮鲁)回复于 2005-08-02 15:09:50 得分 0
upTop




