我有一些大致标准化的 sgml 文件。但是,在我打开文件并亲自阅读之前,标签中可能包含我不知道存在的数据。例如,文件有地址,通常地址有街道、城市、州、邮编和电话。地址的每个元素都用标签表示
<ADDRESS>
<STREET>One Main Street
<CITY>Gotham City
<ZIP>99999 0123
<PHONE>555-123-5467
</ADDRESS>
但是,例如,我发现有 Country、STREET1、STREET2 的标签。我有超过 200K 的文件要处理,我想知道是否可以提取地址的所有元素而不必担心知道未知标签的存在。
到目前为止我所做的是
h=fromstring(my_data_in_a_string)
for each in h.cssselect('mail_address'):
each.text_content()
但是我得到的是有问题的,因为我无法确定一个元素在哪里结束,而下一个元素在哪里开始
One Main StreetGotham City99999 0123555-123-5467