[pyar] Salto de linea en XML

Hugo Osvaldo Barrera hugo en osvaldobarrera.com.ar
Mie Dic 12 16:44:02 ART 2012


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



More information about the pyar mailing list