TransWikia.com

Porque xml.etree.ElementTree modifica el archivo xml

Stack Overflow en español Asked by Andre Lopez on February 5, 2021

al parecer estoy haciendo algo mal, no comprendo bien donde esta mi error, sucede que en la salida del xml modificado o utilizado por el modulo xml.etree.ElementTree hace que no se vea igual al original. En este caso mostrare la salida original:

import base64
import xml.etree.ElementTree as ET
base64Img = '' # NOTA: Aqui va la cadena, pasa que es demasiado larga para ponerla en Stackoverflow
imagenData = base64.b64decode(base64Img) 
print(imagenData)

Bien la salida del print es esta:

b'<?xml version="1.0" encoding="UTF-8" standalone="no"?>n<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" zoomAndPan="magnify" contentStyleType="text/css" id="Capa_1" style="enable-background:new 0 0 36 36;" version="1.1" xml:space="preserve" width="36px" preserveAspectRatio="xMidYMid meet" viewBox="0 0 36 36" height="36px" x="0px" y="0px">n<rect x="0" width="36" height="36" style="fill:#F1F1F1;"/>n<g>nt<rect width="12" x="12" height="17.8" y="8.5" style="fill:none;"/>nt<path style="fill:#333333;" d="M19.6,12.7v10.2h-1.8v-8.4c-0.6,0.2-1.6,0.3-2.3,0.4l-0.1-1.4c1.2-0.2,2.1-0.5,2.7-0.8   C18.2,12.7,19.6,12.7,19.6,12.7z"/>n</g>n<circle fill="#5183AF" r="0.5" cx="5" cy="22"/>n<circle fill="#5183AF" r="0.5" cx="7" cy="22"/>n</svg>n'

Entonces quiero eliminar las etiquetas circle, y bueno lo logre, pero me di cuenta que cuando uso el xml modulo, me esta modificando a otro formato de xml ejemplo:

tree = ET.ElementTree(ET.fromstring(imagenData))
tree.write('test2.xml')

En el archivo encuentro esto:

<ns0:svg xmlns:ns0="http://www.w3.org/2000/svg"
contentScriptType="text/ecmascript" contentStyleType="text/css"
height="36px" id="Capa_1" preserveAspectRatio="xMidYMid meet"
style="enable-background:new 0 0 36 36;" version="1.1" viewBox="0 0 36
36" width="36px" x="0px" y="0px" zoomAndPan="magnify"
xml:space="preserve"> <ns0:rect height="36" style="fill:#F1F1F1;"
width="36" x="0" /> ns0:g <ns0:rect height="17.8"
style="fill:none;" width="12" x="12" y="8.5" /> <ns0:path
d="M19.6,12.7v10.2h-1.8v-8.4c-0.6,0.2-1.6,0.3-2.3,0.4l-0.1-1.4c1.2-0.2,2.1-0.5,2.7-0.8
C18.2,12.7,19.6,12.7,19.6,12.7z" style="fill:#333333;" /> </ns0:g>
<ns0:circle cx="5" cy="22" fill="#5183AF" r="0.5" /> <ns0:circle
cx="7" cy="22" fill="#5183AF" r="0.5" /> </ns0:svg>

Alguna idea de porque sucede esto y como podria resolverlo?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP