提问人:lrhorer 提问时间:8/24/2023 最后编辑:lrhorer 更新时间:8/24/2023 访问量:41
为什么这个 Python 代码没有正确分配 DOM 变量?
Why isn't this Python code properly assigning the DOM variable?
问:
我对 Python 相当陌生,对 Python 中的 XML 操作完全陌生。下面是其中一个 XML 文件的代码片段:
<!--created on 2023-08-21 06:58:42 - tinyMediaManager 4.3.13-->
<movie>
<title>El Dorado</title>
<originaltitle>El Dorado</originaltitle>
<sorttitle/>
...
</movie>
我需要将值分配给变量。程序分配 null 字符串而不是“El Dorado”。代码如下:
import xml.dom.minidom
import glob
Directory = "/RAID/Server-Main/KODI/VideoDB/"
for InFile in glob.glob(Directory + "*.xnfo"):
print(InFile)
domtree = xml.dom.minidom.parse(InFile)
group = domtree.documentElement
Main = group.getElementsByTagName('movie')
for name in Main:
Title = name.getAttribute('title')
print(Title)
我没有收到任何错误,我知道它正确扫描了所有文件,但输出为空。
编辑:我做了一点戳,由于某种原因,程序从未进入for循环,这意味着Main没有元素。我完全不明白这一点。
答:
1赞
Jiu_Zou
8/24/2023
#1
使用此代码可以正常运行。
import xml.etree.ElementTree as ET
Directory = r"C:\Users\10696\Desktop\access\kkk.xml"
for InFile in [Directory]:
print(InFile)
domtree = ET.parse(InFile)
Main = domtree.findall('movie')
for name in Main:
Title = name.find('title').text
print(Title)
kkk.xml
<annotation>
<movie>
<title>El Dorado</title>
<originaltitle>El Dorado</originaltitle>
<sorttitle></sorttitle>
</movie>
</annotation>
评论
name.getAttribute('title')
firstChild