我正在编写一个 Python 脚本来更新 Visual Studio 项目文件。它们看起来像这样:
<?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 文件,因此忽略它不是可选的。
为什么会出现这个错误?欢迎提出建议或替代方案。