【问题标题】:Adding Elements,Nodes and Text in XMl in .Net在 .Net 中的 XMl 中添加元素、节点和文本
【发布时间】:2011-08-25 09:50:53
【问题描述】:

我想向现有 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>

【问题讨论】:

  • 请定义“正确输出 Xml”是什么意思?你目前得到了什么(你的代码中没有输出,所以无法理解你目前正在尝试什么)?
  • 我的意思是正确的输出是我提供的要实现的 Xml。我进一步添加了我得到的 Xml &lt;DB&gt;&lt;ScopeCleanUp&gt; &lt;ScopeName&gt;0&lt;/ScopeName&gt; &lt;ScopeName&gt;1&lt;/ScopeName&gt; &lt;LocalScope /&gt; &lt;/ScopeCleanUp&gt;&lt;/DB&gt; 如果你看到差异,是 Element'LocalDatabase 的存在。
  • 如果有什么不清楚的地方请告诉我。
  • 这没有多大帮助。请编辑您的问题,以便清楚您当前生成的源 xml、目标 xml 和要生成的目标 xml 是什么。
  • 要实现的目标 Xml &lt;DB&gt; &lt;ScopeCleanUp&gt; &lt;LocalDataBase&gt; &lt;ScopeName&gt;1&lt;/ScopeName&gt; &lt;ScopeName&gt;2&lt;/ScopeName&gt; &lt;/LocalDataBase&gt; &lt;/ScopeCleanUp&gt; &lt;/DB&gt;' Xml generated by above Code mentioned 01 ` 不同之处在于节点 LocalScope 的存在。标签应该在 ScopeCleanUp 之后打开,在 ScopeCleanUp 之前关闭。

标签: c# .net asp.net xml


【解决方案1】:

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

        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);
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多