tengo una consulta que me vuelve locaaaaa , por ahi ustedes me pueden ayudar a armar esto. Tengo un XML del filezilla con este aspecto:
Código:
yo lo que necesito es traer a un Textbox el valor del item Custom PASV IP o sea: 192.168.1.14 para poder cambiarlo y guardar el cambio.<filezilla> <Settings> <Item name="Number of Threads" type="numeric">2</Item> <Item name="Maximum user count" type="numeric">0</Item> <Item name="Timeout" type="numeric">120</Item> <Item name="Custom PASV IP" type="string">192.168.1.14</Item> <Item name="Custom PASV min port" type="numeric">20000</Item> <Item name="Custom PASV max port" type="numeric">20010</Item> </Settings> </filezilla>
Alguien sabe como puedo hacerlo?
(Estuve armandome un código donde pude llegar a leer todo el contenido del XML, llevarlo a un textbox multilinea, hacerle cambios y guardarlo.)
Aca el codigo:
Código HTML:
<%@ Page language="VB" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Default</title> <script runat="server"> Dim xmlSource As System.Xml.XmlDocument = New System.Xml.XmlDocument Private Sub LoadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim xmlDocStream As System.IO.Stream = GetXmlDoc(XmlSourceTextBox.Text) If (Not (xmlDocStream) Is Nothing) Then xmlSource.Load(xmlDocStream) ResultText.Text = xmlSource.InnerXml Else ResultText.Text = "No se puede abrir el XML." End If End Sub Public Shared Function GetXmlDoc(ByVal xmlsource As String) As System.IO.Stream Dim stream As System.IO.Stream = Nothing If (xmlsource.StartsWith("<?xml") OrElse xmlsource.StartsWith("<schema")) Then stream = New System.IO.MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes(xmlsource)) Else Try Dim xmluri As System.Uri = New System.Uri(xmlsource) If xmluri.IsFile Then stream = New System.IO.FileStream(xmlsource, System.IO.FileMode.Open) Else Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(xmluri),System.Net.HttpWebRequest) Dim response As System.Net.WebResponse = request.GetResponse stream = response.GetResponseStream End If Catch e As Exception End Try End If Return stream End Function Private Sub SaveButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) If ((xmlSource Is Nothing) _ OrElse (xmlSource.InnerText = "")) Then xmlSource.LoadXml(ResultText.Text) End If Try Dim path As String = FilePathText.Text.Substring(0, FilePathText.Text.LastIndexOf("\")) If System.IO.Directory.Exists(path) Then Try xmlSource.Save(FilePathText.Text) SaveResultsText.Text = (FilePathText.Text + " se grabo ok.") Catch saveErr As Exception SaveResultsText.Text = saveErr.ToString End Try Else SaveResultsText.Text = "No existe el directorio, pruebe otro." FilePathText.Text = "" End If Catch saveError As Exception SaveResultsText.Text = saveError.ToString End Try End Sub </script> </HEAD> <body> <form id="Form1" method="post" runat="server"> <asp:textbox id="XmlSourceTextBox" runat="server" Width="380" Height="162px" TextMode="MultiLine"></asp:textbox><br /> <asp:button id="LoadButton" runat="server" Text="Load XML Document" OnClick="LoadButton_Click"></asp:button><br /> <asp:TextBox id="ResultText" runat="server" Width="380" Height="194px" TextMode="MultiLine"></asp:TextBox><br /> <asp:Button id="SaveButton" runat="server" Text="Save" OnClick="SaveButton_Click"></asp:Button><br /> <asp:TextBox id="FilePathText" runat="server" Width="380"></asp:TextBox><br /> <asp:TextBox id="SaveResultsText" runat="server" TextMode="MultiLine" Height="211px" Width="380px"></asp:TextBox> </form> </body> </HTML>