2

ElementTreeを使用して読んで追加しているXMLドキュメントがあります。これには、複数の名前空間が宣言されています。私の知る限り、ElementTreeでは単一のグローバル名前空間のみを宣言できます。 ET.register_namespace(prefix, uri)

結果のファイルに複数の名前空間を書き出したいと思います。を使用して手動で追加しようとすると root.set(prefix, uri) 、順序が間違ってしまい、cElementTree.ParseError: unbound prefix: line 2, column 0

編集:設定していたオプションにタイプミスがあったことがわかりました。これを修正すると、正常に再解析されます。したがって、これは実行可能なソリューションのようです。

ありがとう!

4

1 に答える 1

1

標準ライブラリの使用に制限されていない場合は、 APIを提供するlxmlパッケージをインストールして使用することをお勧めします。これには、同じドキュメントに複数の名前空間を簡単に含めることができるなど、多くの利点があります。ElementTree

于 2012-10-02T23:36:11.123 に答える