XML - Problemas con XML

 
Vista:

Problemas con XML

Publicado por Rapo (1 intervención) el 03/08/2004 14:39:50
Tengo un problema, me han pasado un xml en una pagina html con javascript, pero los datos me los da por pantalla, y quiero tenerlos en un fichero de texto, y otra cosa es poder enviar esa petición xml pero pasandole yo parametros.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Obtener datos de una página HTML con JavaScript y guardarlos en un archivo de texto con Visual Basic

Publicado por Alejandro (258 intervenciones) el 10/07/2023 22:09:22
Si tienes una página HTML con JavaScript que muestra datos en pantalla y deseas guardar esos datos en un archivo de texto utilizando Visual Basic, puedes utilizar la biblioteca `mshtml` para interactuar con la página HTML y obtener los datos que necesitas. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Imports System.IO
Imports System.Text
Imports mshtml
 
Module HTMLDataToFile
    Sub Main()
        ' Cargar la página HTML en un objeto WebBrowser '
        Dim webBrowser As New WebBrowser()
        webBrowser.Navigate("ruta/a/tu/pagina.html")
 
        ' Esperar hasta que la página se haya cargado completamente '
        AddHandler webBrowser.DocumentCompleted, Sub(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
                                                     ' Obtener el contenido HTML de la página '
                                                     Dim htmlDocument As HTMLDocument = CType(webBrowser.Document.DomDocument, HTMLDocument)
                                                     Dim htmlContent As String = htmlDocument.documentElement.outerHTML
 
                                                     ' Extraer los datos que necesitas del contenido HTML '
                                                     Dim data As String = ExtractDataFromHTML(htmlContent)
 
                                                     ' Guardar los datos en un archivo de texto '
                                                     SaveDataToFile(data, "ruta/al/archivo.txt")
 
                                                     Console.WriteLine("Datos guardados correctamente.")
                                                 End Sub
 
        ' Esperar a que la aplicación finalice '
        Application.Run()
    End Sub
 
    Function ExtractDataFromHTML(htmlContent As String) As String
        ' Implementa el código necesario para extraer los datos deseados del contenido HTML '
        ' Puedes utilizar técnicas como búsqueda de elementos por ID o clase, manipulación del DOM, etc. '
        ' Retorna los datos extraídos en un formato de texto '
 
        Return "Datos extraídos del HTML"
    End Function
 
    Sub SaveDataToFile(data As String, filePath As String)
        ' Guarda los datos en un archivo de texto '
        File.WriteAllText(filePath, data, Encoding.UTF8)
    End Sub
End Module

En este ejemplo, utilizamos el control `WebBrowser` de Windows Forms para cargar la página HTML y esperar a que se cargue completamente. Luego, en el evento `DocumentCompleted`, obtenemos el contenido HTML de la página y lo pasamos a la función `ExtractDataFromHTML` para extraer los datos deseados. Posteriormente, llamamos a la función `SaveDataToFile` para guardar los datos en un archivo de texto.

Debes reemplazar `"ruta/a/tu/pagina.html"` con la ruta y el nombre de archivo de tu página HTML, implementar la lógica en `ExtractDataFromHTML` para extraer los datos que necesitas del contenido HTML y ajustar la ruta y el nombre de archivo en `SaveDataToFile` según tus necesidades.

Si deseas enviar una petición XML con parámetros personalizados, puedes utilizar la biblioteca `System.Net` en Visual Basic para realizar una solicitud HTTP con los parámetros deseados. Aquí tienes un ejemplo básico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Imports System.IO
Imports System.Net
Imports System.Text
 
Module SendXMLRequest
    Sub Main()
        ' Crear una solicitud HTTP POST '
        Dim request As HttpWebRequest = CType(WebRequest.Create("URL_del_servicio"), HttpWebRequest)
        request.Method = "POST"
        request.ContentType = "application/xml"
 
        ' Definir el contenido XML con parámetros personalizados '
        Dim xmlContent As String = "<request>"
        xmlContent += "<param1>valor1</param1>"
        xmlContent += "<param2>valor2</param2>"
        xmlContent += "</request>"
 
        ' Convertir el contenido XML en bytes '
        Dim xmlBytes As Byte() = Encoding.UTF8.GetBytes(xmlContent)
 
        ' Establecer la longitud del contenido y escribirlo en la solicitud '
        request.ContentLength = xmlBytes.Length
        Using requestStream As Stream = request.GetRequestStream()
            requestStream.Write(xmlBytes, 0, xmlBytes.Length)
        End Using
 
        ' Obtener la respuesta del servicio '
        Using response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
            Using responseStream As Stream = response.GetResponseStream()
                Using reader As New StreamReader(responseStream)
                    Dim responseContent As String = reader.ReadToEnd()
                    Console.WriteLine(responseContent)
                End Using
            End Using
        End Using
    End Sub
End Module

En este ejemplo, debes reemplazar `"URL_del_servicio"` con la URL del servicio que deseas consultar y ajustar el contenido XML (`xmlContent`) con los parámetros personalizados que necesites.

Espero que estas soluciones te sean útiles para obtener datos de una página HTML, guardarlos en un archivo de texto y enviar una petición XML con parámetros personalizados utilizando Visual Basic.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar