【发布时间】: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
<DB><ScopeCleanUp> <ScopeName>0</ScopeName> <ScopeName>1</ScopeName> <LocalScope /> </ScopeCleanUp></DB>如果你看到差异,是 Element'LocalDatabase 的存在。 -
如果有什么不清楚的地方请告诉我。
-
这没有多大帮助。请编辑您的问题,以便清楚您当前生成的源 xml、目标 xml 和要生成的目标 xml 是什么。
-
要实现的目标 Xml
<DB> <ScopeCleanUp> <LocalDataBase> <ScopeName>1</ScopeName> <ScopeName>2</ScopeName> </LocalDataBase> </ScopeCleanUp> </DB>' Xml generated by above Code mentioned ` 不同之处在于节点 LocalScope 的存在。标签应该在 ScopeCleanUp 之后打开,在 ScopeCleanUp 之前关闭。0 1