- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用如下所示的 ElementTree
解析 xml
文件:
<Game>
<Event timestamp="2016-08-14T14:23:33.634" id="1713385925"
version="1471181110290" last_modified="2016-08-14T14:25:11" y="11.0"
x="89.7" outcome="0" team_id="148" player_id="51327" sec="8" min="23"
period_id="1" type_id="4" event_id="205">
<Q id="733814222" qualifier_id="265"/>
<Q id="481660420" qualifier_id="286"/>
<Q id="813378778" qualifier_id="152"/>
<Q id="570443899" qualifier_id="56" value="Right"/>
<Q id="420312891" qualifier_id="233" value="248"/>
<Q id="1186861264" qualifier_id="13"/>
</Event>
<Event timestamp="2016-08-14T14:23:33.634" id="1635888622"
version="1471181110289" last_modified="2016-08-14T14:25:11" y="89.0"
x="10.3" outcome="1" team_id="143" player_id="169007" sec="8" min="23"
period_id="1" type_id="4" event_id="248">
<Q id="1871787686" qualifier_id="56" value="Back"/>
<Q id="176295814" qualifier_id="13"/>
<Q id="69346842" qualifier_id="233" value="205"/>
<Q id="1588029344" qualifier_id="265"/>
<Q id="559785299" qualifier_id="285"/>
<Q id="380723313" qualifier_id="152"/>
</Event>
</Game>
我使用的代码很简单,并且按预期工作。但是,当我尝试向代码中添加 if 条件
时,一切都变了
import xml.etree.ElementTree as ET
root = ET.parse(r'C:\Users\ADMIN\Desktop\Abhishek\PSG - Copy\Sample.xml').getroot()
Games = root.getchildren()
for Game in Games:
Events = Game.getchildren()
for Event in Events:
type_id = Event.attrib["type_id"]
team_id = Event.attrib["team_id"]
Qualifiers = Event.getchildren()
for Qualifier in Qualifiers:
id_ = Qualifier.attrib['id']
if id_ == 142:
print ("val")
这是它产生的错误:
Warning (from warnings module):
File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python37\PSGPossessionSequences.py", line 9
Games = root.getchildren()
DeprecationWarning: This method will be removed in future versions. Use 'list(elem)' or iteration over elem instead.
Warning (from warnings module):
File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python37\PSGPossessionSequences.py", line 11
Events = Game.getchildren()
DeprecationWarning: This method will be removed in future versions. Use 'list(elem)' or iteration over elem instead.
Warning (from warnings module):
File "C:\Users\ADMIN\AppData\Local\Programs\Python\Python37\PSGPossessionSequences.py", line 15
Qualifiers = Event.getchildren()
DeprecationWarning: This method will be removed in future versions. Use 'list(elem)' or iteration over elem instead.
我已经尝试删除 if 语句
并且效果很好。但是,我确实需要设置一个条件来调用所有具有特定值的 id_
。我试过使用 "142"
和 142
但问题仍然存在。为什么会发生这种情况?
最佳答案
这是警告 getchildren() 方法已贬值。以下是如何在没有警告的情况下立即获取 child
def goddamnit_what_are_my_kids_called(self, element):
for child in list(element):
print(child.tag)
关于python - 为什么 if 语句在 ElementTree 解析中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55883322/
创建一个“海盗对话”,可以选择左手或右手。我希望它对“左”和“右”的不同拼写做出积极的回答(正如您将在代码中看到的那样),但是,当我为所有非“右”或“左”的输入添加最终的“else”代码时,它给了我一
With 语句 对一个对象执行一系列的语句。 With object statements End With 参数 object 必需的部分
While...Wend 语句 当指定的条件为 True 时,执行一系列的语句。 While condition  ; Version [stat
所以我正在处理的代码有一个小问题。 while True: r = input("Line: ") n = r.split() if r == " ":
我有一个对象数组: var contacts = [ { "firstName": "Akira", "lastName": "Laine", "number"
int main() { int f=fun(); ... } int fun() { return 1; return 2; } 在上面的程序中,当从main函数中调用一个
我的项目中有很多 if 语句、嵌套 if 语句和 if-else 语句,我正在考虑将它们更改为 switch 语句。其中一些将具有嵌套的 switch 语句。我知道就编译而言,switch 语句通常更
Rem 语句 包含程序中的解释性注释。 Rem comment 或 ' comment comment 参数是需要包含的注释文本。在 Rem 关键字和 comment 之间应有一个空格。
ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。 ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
Randomize 语句 初始化随机数生成器。 Randomize [number] number 参数可以是任何有效的数值表达式。 说明 Randomize 使用 number 参数初始
Public 语句 定义公有变量并分配存储空间。在 Class 块中定义私有变量。 Public varname[([subscripts])][, varname[([subscripts])
Sub 语句 声明 Sub 过程的名称、参数以及构成其主体的代码。 [Public [Default]| Private] Sub name [( arglist )]
Set 语句 将对象引用赋给一个variable或property,或者将对象引用与事件关联。 Set objectvar = {objectexpression | New classname
我有这个代码块,有时第一个 if 语句先运行,有时第二个 if 语句先运行。我不确定为什么会这样,因为我认为 javascript 是同步的。 for (let i = 0; i < dataObje
这是一个 javascript 代码,我想把它写成这样:如果此人回答是,则回复“那很酷”,如果此人回答否,则回复“我会让你开心”,如果此人回答的问题包含"is"或“否”,请说“仅键入”是或否,没有任何
这是我的任务,我尝试仅使用简短的 if 语句来完成此任务,我得到的唯一错误是使用“(0.5<=ratio<2 )”,除此之外,构造正确吗? Scanner scn = new Scanner(
有没有办法在 select 语句中使用 if 语句? 我不能在这个中使用 Case 语句。实际上我正在使用 iReport 并且我有一个参数。我想要做的是,如果用户没有输入某个参数,它将选择所有实例。
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: If vs. Switch Speed 我将以 C++ 为例,但我要问的问题不是针对特定语言的。我的意思是一
Property Set 语句 在 Class 块中,声明名称、参数和代码,这些构成了将引用设置到对象的 Property 过程的主体。 [Public | Private] Pro
Property Let 语句 在 Class 块中,声明名称、参数和代码等,它们构成了赋值(设置)的 Property 过程的主体。 [Public | Private] Prop
我是一名优秀的程序员,十分优秀!