【发布时间】:2021-08-16 03:33:32
【问题描述】:
Ï 有一个半解析的 xml 结果。我称它为半因为它有点工作,有点不工作。这是因为原始文件是“半格式”。
我尝试过使用元素树进行解析,但效果更差,所以返回到使用 BeautifulSoup 进行解析。
我需要帮助获取孩子们的名字,下面是“Line”。
我有很多孩子,最高级的如下:
<Line>
<ID>0b10-bd-59-ac-bac</ID>
<Type ref="cc-63-5c-bf-01"/>
<Base ref="8c-20-59-b7-eb"/>
<length multiplier="none" unit="m">28.536756216711005</length>
<b0ch multiplier="none" unit="S"/>
<bch multiplier="none" unit="S"/>
<r multiplier="none" unit="ohm">0.03361629882328556</r>
<r0 multiplier="none" unit="ohm">0.033624859850150575</r0>
<x multiplier="none" unit="ohm">0.008802762240586673</x>
<x0 multiplier="none" unit="ohm">1.1414702486684403E-05</x0>
</Line>
当我在“线”下面列出信息时,我得到:
[<ID>0b10-bd-59-ac-bac</ID>, <Type ref="cc-63-5c-bf-01"/>, <Base ref="8c-20-59-b7-eb"/>, <length multiplier="none" unit="m">28.536756216711005</length>, <b0ch multiplier="none" unit="S"/>, <bch multiplier="none" unit="S"/>, <r multiplier="none" unit="ohm">0.03361629882328556</r>, <r0 multiplier="none" unit="ohm">0.033624859850150575</r0>, <x multiplier="none" unit="ohm">0.008802762240586673</x>, <x0 multiplier="none" unit="ohm">1.1414702486684403E-05</x0>]
列表中的元素,我可以将 bs4.element.NavigableString 转换为字符串,然后按我的意愿排序。
但是当我尝试获取信息的“父级”时,它会返回“子级”的整个第一瞬间,代码与上面相同,以 , 开始和停止。
我无法处理大量信息。不能整体转成字符串。
当遍历所有孩子时,我不知道第一个孩子的名字,也不知道下一个孩子的名字。
如何在不知道名字或名字长度的情况下提取这些信息?
【问题讨论】:
标签: python xml beautifulsoup