[pyar] Salto de linea en XML

Angel Java Lopez ajlopez2000 en gmail.com
Mie Dic 12 17:00:33 ART 2012


Sin trabajar en Python, yo iria por

La única otra alternativa es escanear los saltos de línea que estén
dento de pares de comillas y convertirlos a su escape HTML.


y lo haria con TDD. Es un camino simple, TDD te servira para tener los test
listos sobre casos simples, y otros mas complejos que extraigas de data
actual.

Lo de convertir ese atributa a CDATA... hmmm... me parece demasiado, solo
lo intentaria si hay todavia mas cosas que te mandan "mal" aparte de los
saltos de linea. Pero ya tendrias armado con TDD los casos principales, y
si alguna vez necesitas pasar a eso de CDATA, estara todo servido para un
buen refactor ;-)

O para cuando surjan problemas con las dobles comillas (algun caso no
contemplado).

Angel "Java" Lopez
@ajlopez
gh:ajlopez

2012/12/12 Hugo Osvaldo Barrera <hugo en osvaldobarrera.com.ar>

> On 2012-12-12 15:50, Roberto Alsina wrote:
> > On 12/12/12 15:35, Hugo Osvaldo Barrera wrote:
> >> > Claro, yo opino lo mismo.
> >> > Leé el archivo como archivo de texto plano, hacele las modificaciones
> >> > que debas en memoria y después parseá ese XML.
> >> > No debe ser mucho laburo convertir a CDATA los campos que correspondan
> >> > haciendolo así (una regex seguro alcanza).
> >
> http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454
>
> Soy conciente de ese post, pero no estoy hablando de parsear el XML
> entero, meramente reemplazar una parte en este escenario particular y
> luego parear el XML con la lib que esté usando:
>
> Sería convertir esto:
>
> s = """<Conceptos>
>     <Concepto cantidad="1.00" descripcion="Prueba de concepto
> En dos lineas
> mejor tres" importe="1000.00" noIdentificacion="1272005004"
> unidad="Servicio" valorUnitario="1000.00"/>
> </Conceptos>"""
>
>
> En esto:
>
> s = """<Conceptos>
>     <Concepto cantidad="1.00" importe="1000.00"
> noIdentificacion="1272005004" unidad="Servicio"
> valorUnitario="1000.00"><descripcion>
> <![CDATA["Prueba de concepto
> En dos lineas
> mejor tres]]>/>
> </descripcion>
> </concepto>
> </Conceptos>"""
>
> Se que es un hack un poco horrible, pero admitamoslo; quiere parsear
> partes del XML que son consideradas ignorables (saltos de línea en ese
> formato).
>
> La única otra alternativa es escanear los saltos de línea que estén
> dento de pares de comillas y convertirlos a su escape HTML.
>
>
> --
> Hugo Osvaldo Barrera
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20121212/3cac51b8/attachment.html>


More information about the pyar mailing list