<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body>
<font color="#000066">Antes que nada pido me tengan paciencia ya que
empeze hace muy poquito con c# y un poco de Xml.<br>
<br>
1) el codigo fuente de mi programa (c#) una vez ejecutado empieza
ocupando 16 megas en memoria y se infla progresivamente de a unos
cuantos kilobytes con solo pasarle el mouse por arriba. Uso mas que
nada Xml, botones, listboxes, etc, todo muy basico. <br>
Alguna idea que puede ser? no estoy seguro que partes del codigo
deberia enviar, o como enviarlo para que sea legible para ustedes (por
el tema de como el visual studio maneja los files...).<br>
<br>
2) estoy utilizando xml para guardar informacion sobre unos articulos,
pero tengo el siguiente problema:</font><br>
<font color="#660000"> <articulos><br>
<articulo><br>
<codigo>BFH-1138</codigo><br>
<descripcion>descripcion de este
articulo</descripcion><br>
<componente><br>
<codigo>INS1</codigo><br>
<cantidad>300</cantidad><br>
</componente><br>
<componente><br>
<codigo>INS2</codigo><br>
<cantidad>45</cantidad><br>
</componente><br>
</articulo><br>
</articulos></font><br>
<font color="#000066"><br>
Con este codigo pretendia leer solo los componentes del articulo (es
decir solo los que tienen hijos: codigo y cantidad):</font><br>
<br>
<font color="#660000"> private void
listBox6a_SelectedIndexChanged(object sender, System.EventArgs e)<br>
{<br>
XmlNode articulos=rootNode.FirstChild;<br>
foreach (XmlNode articulo in articulos.ChildNodes)<br>
{<br>
if
(articulo.FirstChild.InnerText==Convert.ToString(listBox6a.SelectedItem))
// Utilizo una listbox para elegir uno<br>
{<br>
label6a.Text="CODIGO: " +
articulo.ChildNodes[0].InnerText; // Pongo la info del articulo elegido
en unas labels...<br>
label6b.Text="Descripcion: " +
articulo.ChildNodes[1].InnerText;<br>
<font color="#cc0000"> foreach (XmlNode componente
in articulo.ChildNodes)<br>
{<br>
if (componente.HasChildNodes)<br>
{<br>
listBox6b.Items.Add(componente.LastChild.InnerText + " x " +
componente.FirstChild.InnerText);<br>
}<br>
}</font><br>
}<br>
}<br>
}</font><br>
<font color="#000066">Mi problema es que: if (componente.HasChildNodes)
evalua siempre verdadero, tanto para los componentes (que sí tienen
hijos) como para el codigo y la descripcion (que a mi entender no los
tienen).<br>
<br>
Desde ya se aprecia cualquier ayuda.</font><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>
Leer las respuestas