python 解析xml中 attr 出现冒号的问题
阿神
阿神 2017-04-18 09:34:49
[Python讨论组]
阿神
阿神

闭关修行中......

全部回复(2)
大家讲道理

一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

  • 区分大小写,例如,<P>和<p>是两个不同的标记。

  • 不能以数字或"_" (下划线)开头。

  • 不能以xml(或XML、或Xml 等)开头。

  • 不能包含空格。

  • 名称中间不能包含冒号(:)


可以把冒号(:)先替换成别的合法字符,然后再解析。


更新

需要定义 命名空间xmlns:android="android"

import xml.etree.ElementTree as ET
tmp = '''<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" />'''
    
d =ET.fromstring(tmp)
print(d.keys())

结果:

['{android}layout_width', '{android}orientation', '{android}layout_height']
阿神

建议用beautifulsoup来解析xml

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号