首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用<!..>访问xml元素属性

使用<!..>访问xml元素属性
EN

Stack Overflow用户
提问于 2017-08-20 08:12:31
回答 1查看 249关注 0票数 1

我想编写一个小程序来读取XML文件中的数据并将其写入CSV。我通常使用元素树。

XML文件在移动电话的应用程序中有其来源,通常如下所示:

代码语言:javascript
复制
<waypoint><name><![CDATA[POI 2017-07-03 09:37:11nass]]></name> 
<coord lat="47.220430" lon="8.951071"/></waypoint>

我没有任何问题来访问coord及其内容(经度和纬度)。但是,我如何访问名称的信息:[CDATA[POI 2017-07-03 09:37:11nass]]

到目前为止,我的代码如下所示:

代码语言:javascript
复制
for poi in POIS:
    tree = etree.parse(rootwayp + poi)
    root = tree.getroot()
    for child in root:
        for childchild in child:
            print(childchild.tag, ':', childchild.attrib)

我认为我需要为名称内容实现另一种读取方法,因为括号不包括那里的信息。我试图访问的信息作为一个子的名字,这是不工作的(可能是因为!在括号里?)到底是什么!<!...>的意思是?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-20 08:32:46

<![CDATA[...]]>是一种特殊的标记截面

您可以使用下列选择器提取所需的详细信息:

代码语言:javascript
复制
root = tree.getroot()

print(root.find('name').text)
print(root.find('coord').attrib.get('lat','n/a'))
print(root.find('coord').attrib.get('lon','n/a'))

# Output
POI 2017-07-03 09:37:11nass
47.220430
8.951071

使用lxml,您可以提取整个CDATA部分,这是一些医生关于。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45779924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档