python写xml多了ns0_在Python中使⽤ETree保存XML.它不保
留命名空间。。。
我看到这⾥有类似的问题,但没有什么能完全帮助我.
我还查看了有关命名空间的官⽅⽂档,但不到任何真正帮助我的⽂档,也许我只是对
XML格式化⽅⾯的新⼿.
我明⽩也许我需要创建⾃⼰的命名空间字典?⽆论哪种⽅式,这是我的情况:
我从API调⽤中得到⼀个结果,它给了我⼀个XML,它在我的Python应⽤程序中存储为⼀个字符串.
我想要完成的只是抓取这个XML,交换⼀个⼩值(b:字符串值⽤户ConditionValue / Default,但这与此问题⽆关)
然后将其保存为字符串,以便稍后在Rest POST调⽤中发送.
python处理xml文件源XML看起来像这样:
a23aacaf-9b6b-424f-92bb-5ab71505e3bc
Code
25486d6c-36ba-4ab2-9fa6-0dbafbcf0389
NULLCODE
String
0af860f6-5611-4a23-96dc-eb3863975529
Content Type
6364ec20-306a-4cab-aabc-8ec65c0903c9
Standard
String
我的⼯作是交换其中⼀个值,保留源的整个结构,并使⽤它在应⽤程序中稍后提交POST.
我遇到的问题是,当它保存到字符串或⽂件时,它完全混淆了名称空间:
a23aacaf-9b6b-424f-92bb-5ab71505e3bc
Code
25486d6c-36ba-4ab2-9fa6-0dbafbcf0389
NULLCODE
String
0af860f6-5611-4a23-96dc-eb3863975529
Content Type
6364ec20-306a-4cab-aabc-8ec65c0903c9
Standard
String
我已经将代码缩⼩到最基本的形式,我仍然得到相同的结果,所以这与我正常操作⽂件没有任何关系:
ElementTree as ET
import requests
get_context_xml = 'localhost/testapi/returnxml' #returns first XML example above. source_context_xml = (get_context_xml)
Tree = ET.fromstring(source_context_xml)
#Ensure the original namespaces are intact.
print "success"
with open('/home/l','w') as f:
f.string(Tree))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论