循环遍历XML节点并使用数据库C#中的值更新每个节点

时间:2015-07-29 14:32:43

标签: c# asp.net-mvc-3 c#-4.0 linq-to-xml facebook-c#-sdk

我有一个这样的XML文件:我正在为数据库中的记录数创建事件节点。

<event_list>
<event>
 <servername></servername>
</event>
<event>
<servername></servername>
</event>
<event>
<servername></servername>
</event>
<event>
<title></title>
</event>
</event_list>

我将从数据库中获得服务器的价值。我无法将每个服务器名称传递给相应的节点。相反,我最终用最后一个服务器名称更新所有四个节点,并具有以下功能:

public static XmlDocument OpenXmlFile(string fileLocation,     List<ServiceObjects> Sqldata)
{

 eventlist_location = @"C:\Temp\List.xml";

 XMLFileManagement FM = new XMLFileManagement();

FM.CreateXML(eventlist_location);

XmlDocument template = new XmlDocument();

template.Load(fileLocation);

XmlDocument Neweventlist = new XmlDocument();

for (var item in Sqldata)

{

 XmlNamespaceManager namespaces = new     XmlNamespaceManager(template.NameTable);

namespaces.AddNamespace("n", "http://www.hp.com/2009");

XmlNode node = template.SelectSingleNode(".//n:event", namespaces);

Neweventlist.Load(eventlist_location);

     Neweventlist.DocumentElement.AppendChild(Neweventlist.ImportNode(template.DocumentElement, true));

 XmlNamespaceManager nsmgr = new XmlNamespaceManager(Neweventlist.NameTable);

namespaces.AddNamespace("abc", "http://www.hp.com/2009");

 foreach (XmlNode Xnode in Neweventlist.SelectNodes(".//*", namespaces))

{

if (Xnode.Name == "servername")

Xnode.InnerText = item.ServerName.ToString();



}
Neweventlist.Save(eventlist_location);

}

return Neweventlist;

}

0 个答案:

没有答案
相关问题