Ich schreibe ein Python-Skript, um Visual Studio-Projektdateien zu aktualisieren. Sie sehen wie folgt aus:Kann keine XML-Datei mit Standard-Namespace schreiben
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
...
Der folgende Code liest und schreibt dann die Datei:
import xml.etree.ElementTree as ET
tree = ET.parse(projectFile)
root = tree.getroot()
tree.write(projectFile,
xml_declaration = True,
encoding = 'utf-8',
method = 'xml',
default_namespace = "http://schemas.microsoft.com/developer/msbuild/2003")
Python wirft einen Fehler in der letzten Zeile und sagte:
ValueError: cannot use non-qualified names with default_namespace option
Diese überraschend seit ich gerade lese und schreibe, ohne dazwischen zu schneiden. Visual Studio verweigert das Laden von XML-Dateien ohne einen standardmäßigen Namespace. Daher ist das Auslassen von XML-Dateien nicht optional.
Warum tritt dieser Fehler auf? Vorschläge oder Alternativen willkommen.
Sieht aus wie dies ein bekannter Fehler ist. Siehe http://bugs.python.org/issue17088 – WombatPM