python-3.x - 获取 XML 中字段的值
问题描述
我有以下 XML(作为字符串)
xml = '''
<?xml version="1.0" encoding="utf-8"?>
<Response total="00:00:00.2130175">
<Result>
<Channel name="test">
<TotalCount ignoringpaging="2">2</TotalCount>
<Products>
<Product id="8050" ecommerceproduct="Productname">
<Fields>
<Field name="pid">8050</Field>
<Field name="ProductName">Productname</Field>
<Field name="ProductCategorie" culture="nl-NL">Category</Field>
<Field name="Titel" culture="nl-NL">Product Titel</Field>
<Field name="ProductHoogte">74</Field>
<Field name="ProductVerstelbaarheid">Vast</Field>
<Field name="ProductDikte">25</Field>
<Field name="ProductMateriaal">Gemelamineerd spaanplaat</Field>
<Field name="ProductLijn">0</Field>
<Field name="prodId">63258518</Field>
</Fields>
<Variants>
<Variant id="8060" ecommerceproduct="Productname">
<Fields>
<Field name="ProductName">Productname / Black</Field>
<Field name="PID">8060</Field>
<Field name="Zichtbaar">Y</Field>
<Field name="articleCode">123456</Field>
<Field name="priceExcl">469</Field>
<Field name="ProductBreedte">180</Field>
<Field name="ProductDiepte">80</Field>
<Field name="ProductHoogte">74</Field>
<Field name="varId">121655579</Field>
<Field name="visible">Y</Field>
</Fields>
</Variant>
</Variants>
</Product>
<Product id="8051" ecommerceproduct="Productname 2">
<Fields>
<Field name="pid">8051</Field>
<Field name="ProductName">Productname 2</Field>
<Field name="ProductCategorie" culture="nl-NL">Category</Field>
<Field name="Titel" culture="nl-NL">Product Titel 2</Field>
<Field name="ProductHoogte">74</Field>
<Field name="ProductVerstelbaarheid">Vast</Field>
<Field name="ProductDikte">25</Field>
<Field name="ProductMateriaal">Gemelamineerd spaanplaat</Field>
<Field name="ProductLijn">0</Field>
<Field name="prodId">63258520</Field>
</Fields>
<Variants>
<Variant id="8061" ecommerceproduct="Productname 2">
<Fields>
<Field name="ProductName">Productname 2 / White</Field>
<Field name="PID">8061</Field>
<Field name="Zichtbaar">Y</Field>
<Field name="articleCode">234567</Field>
<Field name="priceExcl">499</Field>
<Field name="ProductBreedte">180</Field>
<Field name="ProductDiepte">80</Field>
<Field name="ProductHoogte">74</Field>
<Field name="varId">216555798</Field>
<Field name="visible">N</Field>
</Fields>
</Variant>
</Variants>
</Product>
</Products>
</Channel>
</Result>
</Response>'''
使用 xml.etree 我可以遍历产品,但如何获取字段和变量字段的所有值。
root = ET.fromstring(xml)
for p in root.iter('Product'):
print(p.attrib)
我得到的输出是: {'id': '8050', 'ecommerceproduct': 'Productname'} {'id': '8060', 'ecommerceproduct': 'Productname 2'}
所以这似乎可行,但无论我试图从字段中获取值,我都没有得到回应。
解决方案
推荐阅读
- php - 处理从表单输入到 SQL 的空值
- c# - Word 加载项:根据文档的路径禁用“另存为”
- python - 将字符串元组链接到交叉表数据框
- javascript - 如何在 JS 中为无限跑步者类型的游戏制作无尽的画布
- node.js - 从 mongodb 数组中提取元素
- multithreading - ExecutorService 使用 Stream 时不并行执行线程
- javascript - 如何预防
导出 javascript DataTable 时显示 - android - FT232R 设备的 USB 串口的 Android requestWait 没有被阻塞
- python-3.x - 多页上的 Tkinter 串行数据
- shell - 杀死一个 Docker 容器