gpt4 book ai didi

Python - 使用 minidom 解析时理解 XML 结构

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:24 24 4
gpt4 key购买 nike

Python 和 XML 初学者,所以这看起来有点简单,但它挑战了我的假设我正在尝试解析这样的 XML 结构:

<variable ordernumber="175">
<name>Some_text</name>
<label>Label text</label>
<values>
<value code="5">Five</value>
<value code="4">Four</value>
<value code="3">Three</value>
<value code="2">Two</value>
<value code="1">One</value>
<value code="0">Zero</value>
</values>
</variable>

使用 minidom。

我正在尝试从 name 中提取文本, labelfield元素:

import xml.dom.minidom as md
dom = md.parse(input_file)
root = dom.documentElement
for var in dom.getElementsByTagName('variable'):
var_name=var.getElementsByTagName('name')[0].firstChild.nodeValue
var_label=var.getElementsByTagName('label')[0].firstChild.nodeValue
var_values_list=var.getElementsByTagName('value')
for var_value in var_values_list:
print (var_name,var_label,var_values)

这工作正常,但有一件事我不明白:为什么无法获得 var_name像这样:

var_name=var.getElementsByTagName('name')[0].nodeValue

为什么是'Some_text' <name\> 的 child ?为什么不是 nodeValue ?什么是 nodeValue在这种情况下?当然<label\>也一样和 <value\>

最佳答案

这是糟糕的设计,但在 DOM 中,元素的 nodeValue 属性为 null。参见示例 https://www.w3schools.com/jsref/prop_node_nodevalue.asp

与 DOM 相比,XML 有许多设计更好、更现代的树模型,但我不知道 Python 世界中是否有可用的树模型。

关于Python - 使用 minidom 解析时理解 XML 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48537064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com