我正在編寫一個Python腳本來更新Visual Studio項目文件。他們是這樣的:無法使用默認命名空間編寫XML文件
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
...
下面的代碼讀取,然後再寫入文件:
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中投在最後一行的錯誤,他說:
ValueError: cannot use non-qualified names with default_namespace option
這是令人驚訝因爲我只是閱讀和寫作,兩者之間沒有編輯。 Visual Studio拒絕在沒有默認名稱空間的情況下加載XML文件,因此忽略它不是可選的。
爲什麼會發生此錯誤?建議或替代方案歡迎。
看起來這是一個已知的錯誤。請參閱http://bugs.python.org/issue17088 – WombatPM