2016-08-01 14 views
1

Ich habe eine XML-Datei, wo ich bestimmte Attribute bearbeiten möchte. Ich bin in der Lage, die Attribute richtig zu bearbeiten, aber wenn ich die Änderungen in die Datei schreibe, wird den Tags ein seltsames "ns0" hinzugefügt. Wie kann ich das loswerden? Das habe ich versucht und war erfolglos. Ich arbeite in Python und benutze lxml.Entfernen ns0 aus XML

import xml.etree.ElementTree as ET 
    from xml.etree import ElementTree as etree 
    from lxml import etree, objectify 
    frag_xml_tree = ET.parse(xml_name) 
    frag_root = frag_xml_tree.getroot() 

    for e in frag_root: 
     for elem in frag_root.iter(e): 
      elem.attrib[frag_param_name] = update_val 
     etree.register_namespace("", "http://www.w3.org/2001") 
     frag_xml_tree.write(xml_name) 

Wenn ich dies tue, bekomme ich nur den Fehler "Ungültiger Tag-Name u ''". Ich dachte, dass dieser Fehler kam, wenn die XML-Tags mit Ziffern gestartet wurden, aber das ist nicht der Fall mit meinem XML. Ich bin wirklich fest, wie es weitergeht. Danke

+0

Welche XML-Bibliothek verwenden Sie? – LegionMammal978

+0

Welche Sprache benutzen Sie? – choroba

+0

Ich habe den Beitrag aktualisiert, um die Informationen zu enthalten. Vielen Dank! – user4500293

Antwort

2

Eigentlich schien die Art und Weise, es zu tun, eine Kombination aus zwei Dingen zu sein.

  1. Die Import-Anweisung ist der Import xml.etree.ElementTree als ET
  2. ET.register_namespace ("", Namespace) ist der korrekte Aufruf, in dem Adreßraum der Namensraum im Eingang xml, dh die URL aufgeführt ist nach xmlns.
Verwandte Themen