以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  c#  操作XML的一个问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=56680)


--  作者:michaeltangbin
--  发布时间:12/13/2007 9:51:00 AM

--  c#  操作XML的一个问题
xml文件如下
<?xml version="1.0" encoding="utf-8"?>
<SaveInfor>
  <FriendInfor>
    <FriendName>tangbin1</FriendName>
    <FriendNumber>82563394</FriendNumber>
  </FriendInfor>
  <FriendInfor>
    <FriendName>tangbin2</FriendName>
    <FriendNumber>182563394</FriendNumber>
  </FriendInfor>
  </SaveInfor>
我想向其中插入如下内容
<FriendInfor>
    <FriendName>tangbin2</FriendName>
    <FriendNumber>82563394</FriendNumber>
  </FriendInfor>
使用的代码如下
XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("SaveInfor.xml");
                XmlNode root = xmlDoc.SelectSingleNode("SaveInfor");
                XmlElement xe1 = xmlDoc.CreateElement("FriendInfor");       

           XmlElement xesub1 = xmlDoc.CreateElement("FriendName");
                 xesub1.InnerText =name ;
           xe1.AppendChild(xesub1);
           XmlElement xesub2 = xmlDoc.CreateElement("FriendNumber");
                 xesub2.InnerText = number ;
                 xe1.AppendChild(xesub2);
                 root.AppendChild(xe1);

           xmlDoc.Save("SaveInfor.xml");
这个时候可以正常插入内容
但是要是同样的代码操作如下的xml文件时,就出了问题
xml如下:(只是比原来的代码最外部多了<Data>结点)
<?xml version="1.0" encoding="utf-8"?>
<Data>
<SaveInfor>
  <FriendInfor>
    <FriendName>tangbin1</FriendName>
    <FriendNumber>182563394</FriendNumber>
  </FriendInfor>
  <FriendInfor>
    <FriendName>tangbin2</FriendName>
    <FriendNumber>82563394</FriendNumber>
  </FriendInfor>
  </SaveInfor>
</Data>

请问是什么原因呢,是只能在根结点中插入内容么。
XmlNode root = xmlDoc.SelectSingleNode("SaveInfor");



--  作者:avaya2008
--  发布时间:3/21/2008 7:53:00 PM

--  
可以的,我认为是可以应用的。你在看看我现在微软的软件自己加的属于自动设置的。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms