Visual Studio プロジェクト ファイルを更新する Python スクリプトを作成しています。それらは次のようになります。
<?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 ファイルの読み込みを拒否するため、省略は任意ではありません。
なぜこのエラーが発生するのですか? 提案または代替案を歓迎します。