2011-03-15 24 views
9

En siguiente documento XML, que es necesario añadir un nodoUsando xmlDocument añadir nodo

<DASHBOARD> 
    <ANNOUNCEMENT> 
    <DISPLAYTEXT>testin one</DISPLAYTEXT> 
    </ANNOUNCEMENT> 
    <ADMINLINKS> 
    <LINK NAME="Google">"http:\\www.google.com"</LINK> 
    </ADMINLINKS> 
    <GENLINKS> 
    <LINK NAME="Clearquest">"http://clearquest.com/cqweb/"</LINK> 
    <LINK NAME="Google">http://www.google.com</LINK> 
    </GENLINKS> 
</DASHBOARD> 

La cuestión es que necesito para agregar un nuevo enlace de nodo denominado bajo adminlinks y genlinks simultáneamente. Aquí está la pieza de código

XmlDocument xmldoc = new XmlDocument(); 
xmldoc.Load("DashBoard.xml"); 

XmlNode NodeGen = xmldoc.SelectSingleNode("DASHBOARD/GENLINKS"); 
XmlNode NodeAdmin = xmldoc.SelectSingleNode("DASHBOARD/ADMINLINKS"); 

XmlNode newLink = xmldoc.CreateNode(XmlNodeType.Element, "LINK", null); 
XmlAttribute xa = xmldoc.CreateAttribute("NAME"); 
xa.Value = LinkName; 
newLink.InnerText = Link; 
newLink.Attributes.Append(xa); 

NodeGen.AppendChild(newLink); 
NodeAdmin.AppendChild(newLink); 

xmldoc.Save("DashBoard.xml"); 

Esto está añadiendo el enlace bajo adminlinks pero no bajo genlinks.

+0

Si publica ejemplos de código, XML o de datos, por favor ** ** destacar aquellas líneas en el editor de texto y haga clic en el botón "muestras de código" ('' {}) en el editor barra de herramientas para formatear y sintaxis muy bien, ¡destaquelo! –

Respuesta

10

Está agregando el nuevo nodo LINK al nodo GENLINKS y luego lo mueve a ADMINLINKS. Tal vez puedas probar:

NodeAdmin.AppendChild(newLink.Clone()); 
+0

¡Gracias funcionó! – ppraj