4

lxml と python を使用して xml ドキュメントを生成していますが ( etree.tostring(root) を使用しているだけです)、現在、結果の xml には、数値 ( < ; ) ではなく、名前付きエンティティ ( < ; ) と同じように html エンティティが表示されます。 . 結果が名前の代わりに数値を使用するように、これを変更するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

最終的に、Pythonコードはlibxml2ライブラリのxmlNodeDumpOutputを呼び出すように見えます。

残念ながら、このようなエンティティの表現方法を制御するようにこれを構成する方法はないようです。xmlEncodeEntitiesReentrantのentities.cを見ると、<>文字と&文字は常に適切なXMLエンティティを使用するようにハードコードされているため、数値を使用するように強制する方法はないようです。

これが必要な場合は、おそらく文字列に対して別のパスを実行し、outputString.replace("&lt;","&#60;")それらの文字に対して手動で「」を実行する必要があります。

于 2009-04-03T21:50:14.590 に答える