Hola! 2 preguntas muy basicas (recien empiezo):

30/11/2003 - 01:57 por JuanI | Informe spam
<!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>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 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>
&nbsp;<font color="#660000"> &lt;articulos&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;articulo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;BFH-1138&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;descripcion&gt;descripcion de este
articulo&lt;/descripcion&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;INS1&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;cantidad&gt;300&lt;/cantidad&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;INS2&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;cantidad&gt;45&lt;/cantidad&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/articulo&gt;<br>
&lt;/articulos&gt;</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">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void
listBox6a_SelectedIndexChanged(object sender, System.EventArgs e)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; XmlNode articulos=rootNode.FirstChild;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach (XmlNode articulo in articulos.ChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if
(articulo.FirstChild.InnerText==Convert.ToString(listBox6a.SelectedItem))
// Utilizo una listbox para elegir uno<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; label6a.Text="CODIGO: " +
articulo.ChildNodes[0].InnerText; // Pongo la info del articulo elegido
en unas labels...<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; label6b.Text="Descripcion: " +
articulo.ChildNodes[1].InnerText;<br>
<font color="#cc0000">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach (XmlNode componente
in articulo.ChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (componente.HasChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
listBox6b.Items.Add(componente.LastChild.InnerText + " x " +
componente.FirstChild.InnerText);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</font><br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</font><br>
<font color="#000066">Mi problema es que: if (componente.HasChildNodes)
evalua siempre verdadero, tanto para los componentes (que s&iacute; 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

#1 JuanI
30/11/2003 - 02:58 | Informe spam
<!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>
<b><font color="#000066">Osea que mi programa deberia funcionar
correctamente incluso en sistemas con baja memoria, ya que al estar
presionado comenzaria a desincharse...<br>
<br>
Muchas gracias!</font></b><br>
<br>
<br>
<br>
Michael Giagnocavo [MVP] wrote:<br>
<blockquote type="cite" cite="">
<title></title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<meta name="GENERATOR" content="MSHTML 6.00.2800.1276">
<style></style>
<div><font size="2" face="Arial">1)&nbsp; Eso es debido a la forma en que
funciona el manejo de memoria de Windows, y la carga adicional del
CLR.&nbsp; En el task manager, no veras lo que realmente esta "usando" tu
aplicacion, ya que si no hay presion por memoria en tu sistema, no hay
razon para bajar el working set de tu proceso.&nbsp; Pero, si intentas a
abrir tu aplicacion unos 50 veces (o lo que sea para que tu memoria
disponible esta bajo), veras que recupera esa memoria.</font></div>
<div>&nbsp;</div>
<div><font size="2" face="Arial">2)&nbsp; Creo que el ChildNode en este
caso es el texto que esta dentro del &lt;description&gt;.</font></div>
<div>&nbsp;</div>
<div><font size="2" face="Arial">-mike</font></div>
<div><font size="2" face="Arial">MVP</font></div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"JuanI" &lt;<a
href="mailto:"></a>&gt;
wrote in message <a href="news:%">news:%</a>...</div>
<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>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 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>
&nbsp;<font color="#660000"> &lt;articulos&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;articulo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;BFH-1138&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;descripcion&gt;descripcion de este
articulo&lt;/descripcion&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;INS1&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;cantidad&gt;300&lt;/cantidad&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;codigo&gt;INS2&lt;/codigo&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;cantidad&gt;45&lt;/cantidad&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/componente&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/articulo&gt;<br>
&lt;/articulos&gt;</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">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; private void
listBox6a_SelectedIndexChanged(object sender, System.EventArgs e)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; XmlNode articulos=rootNode.FirstChild;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach (XmlNode articulo in articulos.ChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if
(articulo.FirstChild.InnerText==Convert.ToString(listBox6a.SelectedItem))
// Utilizo una listbox para elegir uno<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; label6a.Text="CODIGO: " +
articulo.ChildNodes[0].InnerText; // Pongo la info del articulo elegido
en unas labels...<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; label6b.Text="Descripcion: " +
articulo.ChildNodes[1].InnerText;<br>
<font color="#cc0000">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach (XmlNode
componente in articulo.ChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (componente.HasChildNodes)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
listBox6b.Items.Add(componente.LastChild.InnerText + " x " +
componente.FirstChild.InnerText);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</font><br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</font><br>
<font color="#000066">Mi problema es que: if
(componente.HasChildNodes) evalua siempre verdadero, tanto para los
componentes (que s&iacute; 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>
</blockquote>
</blockquote>
</body>
</html>

Preguntas similares