在.Net中的XMl中添加元素,节点和文本

时间:2011-08-25 09:50:54

标签: c# .net asp.net xml

我想在现有的Xml中添加元素,节点。 我使用下面提到的代码,但没有得到正确的Xml输出。

 XmlNode root=doc.SelectSingleNode("DB");
 XmlElement elem = doc.CreateElement("ScopeCleanUp");
 root.AppendChild(elem);
 XmlNode rootLoc= doc.SelectSingleNode("DBSync/ScopeCleanUp");
 XmlElement elemLoc = doc.CreateElement("LocalScope");           
 XmlNode rootScope = doc.SelectSingleNode("DBSync/ScopeCleanUp/LocalScope");
 for (int s = 0; s < 2; s++)
 {
     XmlElement elemScope = doc.CreateElement("ScopeName");
     elemScope.InnerText = s.ToString();
     rootLoc.AppendChild(elemScope);                       
 }
 rootLoc.AppendChild(elemLoc);

我需要Xml如下输出。

<DB>
<ScopeCleanUp>
<LocalDataBase>
<ScopeName>1</ScopeName> 
<ScopeName>2</ScopeName> 
  </LocalDataBase>
</ScopeCleanUp>
</DB>

1 个答案:

答案 0 :(得分:0)

这样的事情可以解决问题:

        XmlElement db = doc.CreateElement("DB");
        XmlElement scope = doc.CreateElement("ScopeCleanUp");
        XmlElement local = doc.CreateElement("LocalDataBase");

        doc.AppendChild(db);
        db.AppendChild(scope);
        scope.AppendChild(local);

        for (int i = 0; i < 2; i++)
        {
            XmlElement elem = doc.CreateElement("ScopeName");
            elem.InnerText = i.ToString();
            local.AppendChild(elem);
        }