python 解析url上的xml_如何从python中的URL读取XML文件?
由于命名空间的原因,找不到标题元素。在
下面是要查找的示例代码:“文档”标签中的标题
来自内部“组件”标签的标题import xml.etree.ElementTree as ET
import urllib.request
url = 'https://dailymed.nlm.nih.gov/dailymed/services/v2/spls/fe9e8b7d-61ea-409d-84aa-3ebd79a046b5.xml'
response = urllib.request.urlopen(url).read()
tree = ET.fromstring(response)
for docTitle in tree.findall('{urn:hl7-org:v3}title'):
print(docTitle.text)
for compTitle in tree.findall('.//{urn:hl7-org:v3}title'):
print(compTitle.text)
更新
示例:
^{pr2}$
此示例打印ID为829076996的作者名
更新2
您可以使用findall方法轻松处理所有assignedEntity标记。
对于每种方法,您可以有多个产品,因此需要另一个findall方法(参见下面的示例)。在xPathAssignedEntities = ''.join([
".//",
NS, "author/",
NS, "assignedEntity/",
NS, "representedOrganization/",
NS, "assignedEntity/",
NS, "assignedOrganization/",
NS, "assignedEntity"
])
xPathProdCode = ''.join([
NS, "actDefinition/",
NS, "product/",
NS, "manufacturedProduct/",
NS, "manufacturedMaterialKind/",
NS, "code"
])
# GET ALL assignedEntity TAGS
for assignedEntity in tree.findall(xPathAssignedEntities):
# GET ID AND NAME OF assignedEntity
id = assignedEntity.find(NS + 'assignedOrganization/'+ NS + 'id').get('extension')
name = assignedEntity.find(NS + 'assignedOrganization/' + NS + 'name').text
# FOR EACH assignedEntity WE CAN HAVE MULTIPLE TAGS
for performance in assignedEntity.findall(NS + 'performance'):
actCode = performance.find(NS + 'actDefinition/'+ NS + 'code').get('displayName')
prodCode = performance.find(xPathProdCode).get('code')
print(id, '\t', name, '\t', actCode, '\t', prodCode)
结果是:829084545 Pfizer Pharmaceuticals LLC ANALYSIS 0049-0050
829084545 Pfizer Pharmaceuticals LLC ANALYSIS 0049-4900
829084545 Pfizer Pharmaceuticals LLC ANALYSIS 0049-4910
829084545 Pfizer Pharmaceuticals LLC ANALYSIS 0049-4940
829084545 Pfizer Pharmaceuticals LLC ANALYSIS 0049-4960
829084545 Pfizer Pharmaceuticals LLC API MANUFACTURE 0049-0050
829084545 Pfizer Pharmaceuticals LLC API MANUFACTURE 0049-4900
829084545 Pfizer Pharmaceuticals LLC API MANUFACTURE 0049-4910
829084545 Pfizer Pharmaceuticals LLC API MANUFACTURE 0049-4940
829084545 Pfizer Pharmaceuticals LLC API MANUFACTURE 0049-4960
829084545 Pfizer Pharmaceuticals LLC MANUFACTURE 0049-4900
829084545 Pfizer Pharmaceuticals LLC MANUFACTURE 0049-4910
829084545 Pfizer Pharmaceuticals LLC MANUFACTURE 0049-4960
829084545 Pfizer Pharmaceuticals LLC PACK 0049-4900
829084545 Pfizer Pharmaceuticals LLC PACK 0049-4910
829084545 Pfizer Pharmaceuticals LLC PACK 0049-4960
618054084 Pharmacia and Upjohn Company LLC ANALYSIS 0049-0050
618054084 Pharmacia and Upjohn Company LLC ANALYSIS 0049-4940
829084552 Pfizer Pharmaceuticals LLC PACK 0049-4900
829084552 Pfizer Pharmaceuticals LLC PACK 0049-4910
829084552 Pfizer Pharmaceuticals LLC PACK 0049-4960
python 解析url上的xml_如何从python中的URL读取XML文件?相关推荐
- python读取xml文件信息_python读取xml文件方法解析
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...
- python读取xml文件内容_python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...
- python专题-读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- java xml stax_Java StAX解析器示例以读取XML文件
java xml stax We can use Java StAX parser to read XML file. Java Streaming API for XML (Java StAX) p ...
- python 读excel中的sheet_python读取excel文件中所有sheet表格
sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...
- python读取xml文件信息失败_通过XML读取XML文件时出错。
我试图用python读取XML文件xml.etree但有时对于某些文件,我在解析文件时会出现内存错误.我的XML文件大小是912Mb,这个问题与文件大小有关吗?在 代码:from xml.etree ...
- python用模块读取xml文件_python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- 已解决(Python读取xml文件报错)xmL.etree.ELementTree.ParseError:not well-formed (invalid token): Line
已解决(Python读取xml文件报错)xmL.etree.ELementTree.ParseError:not well-formed (invalid token): Line 文章目录 报错信息 ...
最新文章
- freemarker程序开发
- php 二维数组值相加,php二维数组指定某元素后面的值是和前面的值相加起来的...
- linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题
- WinCE中的RAM-Based Registry与HIVE-Based Registry
- 让NUnit轻松支持.NET 2.0
- 用CSS的float和clear创建三栏液态布局的方法(转载)
- 【数据库】第三章 事务、索引和SQL优化
- Docker-Compose 基础与实战,看这一篇就够了 | 原力计划
- tomcat中开启SSL
- javascript实现继承的几种主要方法
- 串口转发工具 串口屏调试神器 PC串口监视神器
- 阿里云centos7 服务器XorDDoS木马查杀
- Ribbon停止维护
- 网络应用 1.计算机网络应用体系结构 2.网络应用通信基本原理 3.域名系统(DNS)4.万维网应用 5.Internet电子邮件 6.FTP 7.P2P应用 8.Socket编程基础
- 动态密码算法介绍与实现
- 分享两篇适合程序员看的书籍——《谁动了我的奶酪》、《你的灯亮着吗?》读后感
- 【矩阵论】2. 矩阵分解——SVD
- 真爱至上Love Actually
- MATLAB远程桌面不可启动——解决方法
- Mesos+Marathon搭建部署