我需要帮助。我有这个XML:
<?xml version="1.0"?>
<WDAT>
<EMOD>
<MATERIAL number="1.2345">
<Values>
<X>20.0</X>
<Y>200.0</Y>
</Values>
<Values>
<X>100.0</X>
<Y>190.0</Y>
</Values>
<Values>
<X>200.0</X>
<Y>185.0</Y>
</Values>
<Values>
<X>300.0</X>
<Y>180.0</Y>
</Values>
<Values>
<X>400.0</X>
<Y>175.0</Y>
</Values>
</MATERIAL>
</EMOD>
</WDAT>
例如,我想得到一个数组,其中包含材质编号1.2345的X-Y值。在
^{pr2}$变量“material”有正确的内存地址,但是我很难从X和Y中获取值
谢谢。在
拉斐尔
在“MATERIAL”下面有两个级别,所以需要将这两个级别都传递给findall。你可以:
但是,如果有人意外地给了您这样一个文件,您必须信任您的XML来完成此操作:
^{pr2}$然后你会得到
(200.0, 185.0), (180.0, 175.0)
,由于zip在最短的条目处停止,所以400.0将被悄悄地丢弃,你甚至可能不知道。 显式更好:如果X或Y节点不存在,这将抛出一个异常,您将立即看到它。在
您将需要执行另一个列表理解来将这些转换为float,但您已经可以这样做了。在
在最后2行中,您可以执行以下操作:
这将输出元组列表,如[(“20.0”,“200.0”)…]
相关问题 更多 >
编程相关推荐