Página 1 de 1

[RESUELTO] Analizar XML en BeautifulSoup

Publicado: 16 de octubre de 2024 - 15:38
por jmorillo
Hola,

necesito crear un paquete "Clari Copilot" (fácil, su installer.exe funciona correctamente con /S).
Sin embargo, estoy atascado en la función update_package.py porque el binario está alojado en una CDN, sin una página HTML principal, pero pude encontrar una página XML que lista las versiones.
En setupdevhelpers.py, están las funciones bs_find y bs_find_all (que llaman a BeautifulSoup (bs4)) con features="html.parser" por defecto.
BeautifulSoup, así como las funciones bs_find*, aceptan feature="xml", excepto que BeautifulSoup necesita la biblioteca de Python "lxml", que no está presente por defecto en el entorno virtual de Python de WAPT, creo.
Podría crear un analizador rudimentario usando una solución alternativa, pero sería mejor usar bs_find* y BeautifulSoup de forma nativa con XML.
¿Tienes alguna sugerencia? ¿Hay planes para integrar esta biblioteca LXML en una futura versión? ¿O tal vez me he perdido algo?...
Muchas gracias de antemano.
Atentamente,
Jordi

Re: Analizador XML en BeautifulSoup

Publicado: 16 de octubre de 2024 - 16:45
por blemoigne
Hola Jordi,
aún puedes analizar el XML con el analizador HTML (recibirás una advertencia). Este es el caso con este paquete: https://wapt.tranquil.it/store/fr/tis-0install

Re: Analizador XML en BeautifulSoup

Publicado: 16 de octubre de 2024 - 18:33
por jmorillo
¡Muchas gracias, Bertrand!
¡Todo está funcionando correctamente!
Solo un problema menor porque el elemento XML se declaró así: "<Key> "

No pude encontrar ningún resultado para

Código: Seleccionar todo

bs_find_all('https://contoso.com/test.xml', 'Key')
Tenías que poner Clave -> clave (minúscula) en

Código: Seleccionar todo

bs_find_all('https://contoso.com/test.xml', 'key')
para que se muestre un resultado.
En cualquier caso, podré finalizar la función update_package.
Muchas gracias de nuevo

Re: Analizador XML en BeautifulSoup

Publicado: 17 de octubre de 2024 - 15:47
por dcardon
Hola Jordi,
gracias por tus comentarios, :-)
marco el tema como resuelto.
Denis