我对编程相当陌生,一直在努力寻找解决方案,但我能找到的只是零碎的东西,没有真正的运气将它们组合在一起。
我正在尝试使用BeautifulSoup4
in python
刮一些xml
并将文本值存储在变量中的特定标签之间。这些数据来自医学生培训计划,目前所需的一切都必须手动找到。所以我试图通过抓取程序来提高效率。
举例来说,我正在查看此类测试数据来进行实验:
<AllergyList>
<Allergy>
<Deleted>n</Deleted>
<Status>
<Active/>
</Status>
<ExternalID/>
<Patient>
<ExternalID/>
<FirstName>Testcase</FirstName>
<LastName>casetest</LastName>
</Patient>
<Allergen>
<Name>Flagyl (metronidazole)</Name>
<Drug>
<NDCID>00025182151,00025182131,00025182150</NDCID>
</Drug>
</Allergen>
<Reaction>difficulty breathing</Reaction>
<OnsetDate>02/02/2013</OnsetDate>
</Allergy>
<Allergy>
<Deleted>n</Deleted>
<Status>
<Active/>
</Status>
<ExternalID/>
<Patient>
<ExternalID/>
<FirstName>Testcase</FirstName>
<LastName>casetest</LastName>
</Patient>
<Allergen>
<Name>Bactrim (sulfamethoxazole-trimethoprim)</Name>
<Drug>
<NDCID>13310014501,49999023220</NDCID>
</Drug>
</Allergen>
<Reaction>swelling</Reaction>
<OnsetDate>05/03/2002</OnsetDate>
</Allergy>
<Number>2</Number>
</AllergyList>
我一直在努力拉<Name>
多个之间的标记<Allergen>
标签以及之间的相应数据<Onsetdate>
and <Reaction>
标签,同时将拉取的结果存储到各自的变量中。
例如我想拉Flagyl (metronidazole)
, difficulty breathing
, 02/02/2013
, then Bactrim (sulfamethoxazole-trimethoprim)
, swelling
, 05/03/2002
等等,同时将它们放在单独的变量中以供稍后使用。
从中拉出第一组<Allergen>
标签很容易,但我无法弄清楚如何迭代xml
并将拉取的数据存储到变量中。我一直在尝试使用 for 循环,同时将数据存储到数组或列表中,但我编写它的方式总是一遍又一遍地提取相同的数据,具体取决于我计算的迭代次数len()
函数,但此后未能将其任何内容存储到数组中。
我已经为此绞尽脑汁有一段时间了,我想我可能没那么聪明,所以任何帮助,甚至为我指明正确的方向,都将非常感激。