私は、ルートの子ノードにすべて名前空間が必要なようにメモリ内のXML文書を作成しようとしています。python/ElementTreeと名前空間でXML文書を作成する
最終文書には、次のようになります。
<Feed>
<FeedEntity Id="0000"
xmlns="http://schemas.example.com/search/query/2010/5/revision">
<FeedRequest locale="en-US" title="<some value>"/>
</FeedEntity>
... another FeedEntity element ...
</Feed>
をしかし、私はElementTreeのlibにして作成した文書を印刷するとき、それはより次のようになります。
<Feed>
<ns0:FeedEntity Id="0000"
xmlns:ns0="http://schemas.example.com/search/query/2010/5/revision">
<FeedRequest locale="en-US" title="<some value>"/>
</ns0:FeedEntity>
</Feed>
はここですどのように私は、ドキュメントを作成しています:
counter = 0
namespace = "http://schemas.example.com/search/query/2010/5/revision"
root = Element("Feed")
node_name = "{%s}FeedEntity" % (namespace,);
feed_entity_element = Element(node_name)
feed_entity_element["Id"] = "%04d" % (counter,);
feed_request_element = Element("FeedRequest");
feed_request_element["Culture"] = self.culture;
feed_request_element["Query"] = address;
# append each of the elements to the xml document
feed_entity_element.append(feed_request_element);
root.append(feed_entity_element);
str_data = ET.tostring(root)
print str_data
最終的なXMLの "ns0"部分を取り除くにはどうすればよいでしょうか?上記の最初の例のように見えますか?
なぜそれを変更したいのですか?XMLを使用するものは、2つのバージョンを同じものとして扱う必要があります。 – Mark