Añadir un nodo XML, COMO?

07/05/2007 - 11:57 por Edison Abarca Tapia | Informe spam
Hola, tengo el siguiente documento XML:

<profiles>

<user name="rad1">

<condiciones-busqueda name="a">

<Paciente>ANGEL</Paciente>

<Prueba>PRUEBITA DEMO</Prueba>

<Modalidad>c</Modalidad>

<RangoDias>2</RangoDias>

</condiciones-busqueda>

</user>

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

</profiles>

Ahora bien, lo que necesito es añadir dentro del nodo <user
name="Edison"> otras condiciones, es decir deberia quedar asi:

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

<condiciones-busqueda name="CR NAME">

<Paciente>

</Paciente>

<Prueba>CRANEO</Prueba>

<Modalidad>CR</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

Como puedo hacerlo con C#?...Por favor necesito de su ayuda, gracias por su
valiosa colaboración.

Preguntas similare

Leer las respuestas

#1 Jose Escrich
07/05/2007 - 15:50 | Informe spam
Debes crear un XmlDocument e invocar al metodo LoadXml y pasarle el string
que tengas, alli tendras toda una api para el manejo del documento entre
ellos la creación de un nodo.

Intenta utilizar el XmlDocument y si te trabas con algo, avisas.!

José Escrich
http://latincoder.com


"Edison Abarca Tapia" wrote in message
news:Oz$
Hola, tengo el siguiente documento XML:

<profiles>

<user name="rad1">

<condiciones-busqueda name="a">

<Paciente>ANGEL</Paciente>

<Prueba>PRUEBITA DEMO</Prueba>

<Modalidad>c</Modalidad>

<RangoDias>2</RangoDias>

</condiciones-busqueda>

</user>

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

</profiles>

Ahora bien, lo que necesito es añadir dentro del nodo <user
name="Edison"> otras condiciones, es decir deberia quedar asi:

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

<condiciones-busqueda name="CR NAME">

<Paciente>

</Paciente>

<Prueba>CRANEO</Prueba>

<Modalidad>CR</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

Como puedo hacerlo con C#?...Por favor necesito de su ayuda, gracias por
su valiosa colaboración.


Respuesta Responder a este mensaje
#2 Octavio Hernandez
07/05/2007 - 17:32 | Informe spam
Hola,

Como dice José, con XmlDocument es fácil resolverlo.

Tienes muchos tutoriales aquí: http://es.gotdotnet.com/Quickstart.

Slds - Octavio



"Edison Abarca Tapia" escribió en el mensaje
news:Oz$
Hola, tengo el siguiente documento XML:

<profiles>

<user name="rad1">

<condiciones-busqueda name="a">

<Paciente>ANGEL</Paciente>

<Prueba>PRUEBITA DEMO</Prueba>

<Modalidad>c</Modalidad>

<RangoDias>2</RangoDias>

</condiciones-busqueda>

</user>

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

</profiles>

Ahora bien, lo que necesito es añadir dentro del nodo <user
name="Edison"> otras condiciones, es decir deberia quedar asi:

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

<condiciones-busqueda name="CR NAME">

<Paciente>

</Paciente>

<Prueba>CRANEO</Prueba>

<Modalidad>CR</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

Como puedo hacerlo con C#?...Por favor necesito de su ayuda, gracias por
su valiosa colaboración.


Respuesta Responder a este mensaje
#3 egcito
08/05/2007 - 06:56 | Informe spam
Te paso un ejemplo para que veas algo de código:


Antepone using System.Xml en tu ejemplo.

XmlDocument document = new XmlDocument();
// suponiendo que tu xml se almacena en profiles.xml
document.Load("profiles.xml");
// buscar el nodo user con atributo name='Edison'
XmlNode user = document.SelectSingleNode("/profiles/user[@name='Edison']");
if(user != null)
{
// buscar el nodo condiciones-busqueda con atributo name='CR NAME'
if(user.SelectSingleNode("condiciones-busqueda[@name='CR NAME']") == null)
{
XmlNode cb = XmlHelper.AddNode(document, user, "condiciones-busqueda");
XmlHelper.AddAttribute(document, cb, "name", "CR NAME");
XmlHelper.AddNode(document, cb, "Paciente");
XmlHelper.AddNode(document, cb, "Prueba", "CRANEO");
XmlHelper.AddNode(document, cb, "Modalidad", "CR");
XmlHelper.AddNode(document, cb, "RangoDias", "10");
MessageBox.Show(document.OuterXml);
document.Save("profiles.xml");
}
else
MessageBox.Show("Nodo [condiciones-busqueda] con atributo [name='CR NAME']
existente.");
}
else
MessageBox.Show("Nodo [user] con atributo [name='Edison'] inexistente.");



Create una clase XmlHelper.cs con estos métodos para que te sea más fácil
agregar los nodos y atributos. Antepone using System.Xml en la clase.


public static XmlNode AddNode(XmlDocument document, XmlNode parent, string
name, string value)
{
XmlNode child = document.CreateElement(name);
if(value != null)
child.InnerText = value;
parent.AppendChild(child);
return child;
}

public static XmlNode AddNode(XmlDocument document, XmlNode parent, string
name)
{
return AddNode(document, parent, name, null);
}

public static XmlAttribute AddAttribute(XmlDocument document, XmlNode node,
string name, string value)
{
XmlAttribute attr = document.CreateAttribute(name);
attr.Value = value;
node.Attributes.Append(attr);
return attr;
}

Salu2!

"Edison Abarca Tapia" wrote:

Hola, tengo el siguiente documento XML:

<profiles>

<user name="rad1">

<condiciones-busqueda name="a">

<Paciente>ANGEL</Paciente>

<Prueba>PRUEBITA DEMO</Prueba>

<Modalidad>c</Modalidad>

<RangoDias>2</RangoDias>

</condiciones-busqueda>

</user>

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

</profiles>

Ahora bien, lo que necesito es añadir dentro del nodo <user
name="Edison"> otras condiciones, es decir deberia quedar asi:

<user name="Edison">

<condiciones-busqueda name="CT NAME">

<Paciente>

</Paciente>

<Prueba>TORAX</Prueba>

<Modalidad>CT</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

<condiciones-busqueda name="CR NAME">

<Paciente>

</Paciente>

<Prueba>CRANEO</Prueba>

<Modalidad>CR</Modalidad>

<RangoDias>10</RangoDias>

</condiciones-busqueda>

</user>

Como puedo hacerlo con C#?...Por favor necesito de su ayuda, gracias por su
valiosa colaboración.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida