Python每日一练——数据存储第一关:读取XML节点和属性值的方法

340 阅读2分钟

面试题第一关:

第一部分——考点:

  • 掌握读取XML节点和属性值的方法。

第二部分——面试题:

1.面试题一:有一个test.xml文件,要求读取该文件中products节点的所有子节点的值以及子节点的属性值。

test.xml文件:

<!-- products.xml -->
<root>
    <products>
        <product uuid='1234'>
            <id>10000</id>
            <name>苹果</name>
            <price>99999</price>
        </product>
        <product uuid='1235'>
            <id>10001</id>
            <name>小米</name>
            <price>999</price>
        </product>
        <product uuid='1236'>
            <id>10002</id>
            <name>华为</name>
            <price>9999</price>
        </product>
    </products>
</root>

第三部分——解析:

# coding=utf-8
# _author__ = 孤寒者

from xml.etree.ElementTree import parse

doc = parse('./products.xml')
print(type(doc))

for item in doc.iterfind('products/product'):
    id = item.findtext('id')
    name = item.findtext('name')
    price = item.findtext('price')
    uuid = item.get('uuid')
    print('uuid={}, id={}, name={}, price={}'.format(uuid, id, name, price), end='\n----------\n')

在这里插入图片描述

  • 通过parse函数可以读取XML文档,该函数返回ElementTree类型的对象,通过该对象的iterfind方法可以对XML中特定节点进行迭代。

  • XML结构的独特,使得它很方便在任何应用程序中读和写数据,所以XML非常快就成为数据交换的唯一公共语言,虽然不同软件也支持其他的数据交换格式,但这并不影响,支持XML数据交换格式的应用程序可以十分容易的与windows,linux或者其他平台产生的信息结合,然后可以十分方便的加载XML数据到程序中并分析它,最后以XML格式输出结果。

  • 不过细心的朋友应该能发现,这个格式的数据与我们在爬虫爬取数据时,未经处理的原始数据格式十分相像,甚至读取操作都几乎一模一样,有兴趣的朋友可以自行去搜索看看这两种数据格式的背景哦~

🔆In The End!

👑有关于Me

个人简介:我是一个硬件出身的计算机爱好者,喜欢program,源于热爱,乐于分享技术与所见所闻所感所得。文章涉及Python,C,单片机,HTML/CSS/JavaScript及算法,数据结构等。

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

认真仔细看完本文的小伙伴们,可以点赞收藏并评论出你们的读后感。并可关注本博主,在今后的日子里阅读更多技术文哦~

如有错误或者言语不恰当的地方可在评论区指出,谢谢!
如转载此文请联系我征得本人同意,并标注出处及本博主名,谢谢 !