为了账号安全,请及时绑定邮箱和手机立即绑定

Python ElementTree模块:当使用“find”,“findall”方法

Python ElementTree模块:当使用“find”,“findall”方法

沧海一幻觉 2019-08-12 18:46:24
Python ElementTree模块:当使用“find”,“findall”方法时,如何忽略XML文件的命名空间以找到匹配的元素我想使用“findall”方法在ElementTree模块中找到源xml文件的一些元素。但是,源xml文件(test.xml)具有命名空间。我将部分xml文件截断为样本:<?xml version="1.0" encoding="iso-8859-1"?><XML_HEADER xmlns="http://www.test.com">     <TYPE>Updates</TYPE>     <DATE>9/26/2012 10:30:34 AM</DATE>     <COPYRIGHT_NOTICE>All Rights Reserved.</COPYRIGHT_NOTICE>     <LICENSE>newlicense.htm</LICENSE>     <DEAL_LEVEL>         <PAID_OFF>N</PAID_OFF>         </DEAL_LEVEL></XML_HEADER>示例python代码如下:from xml.etree import ElementTree as ET tree = ET.parse(r"test.xml")el1 = tree.findall("DEAL_LEVEL/PAID_OFF") # Return Noneel2 = tree.findall("{http://www.test.com}DEAL_LEVEL/{http://www.test.com}PAID_OFF") # Return <Element '{http://www.test.com}DEAL_LEVEL/PAID_OFF' at 0xb78b90>虽然它可以工作,因为有一个名称空间“{http://www.test.com}”,在每个标记前面添加一个名称空间是非常不方便的。使用“find”,“findall”等方法时,如何忽略命名空间?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 2364 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信