gpt4 book ai didi

python - 如何使用 jython/python ElementTree 在 Google Refine 中解析 xml

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:05 25 4
gpt4 key购买 nike

我尝试使用 Jython 和 ElementTree 解析 Google Refine 中的一些 xml,但我正在努力寻找任何文档来帮助我完成这项工作(可能不是 python 编码器的帮助)

这是我尝试解析的 XML 的摘录。我正在尝试返回所有 dc:indentifier 的连接字符串:

<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:creator>J. Koenig</dc:creator>
<dc:date>2010-01-13T15:47:38Z</dc:date>
<dc:date>2010-01-13T15:47:38Z</dc:date>
<dc:date>2010-01-13T15:47:38Z</dc:date>
<dc:identifier>CCTL0059</dc:identifier>
<dc:identifier>CCTL0059</dc:identifier>
<dc:identifier>http://open.jorum.ac.uk:80/xmlui/handle/123456789/335</dc:identifier>
<dc:format>application/pdf</dc:format>
</oai_dc:dc>

这是我目前得到的代码。这是一个返回任何东西的测试,因为现在我得到的只是“错误:null”

from elementtree import ElementTree as ET
element = ET.parse(value)

namespace = "{http://www.openarchives.org/OAI/2.0/oai_dc/}"
e = element.findall('{0}identifier'.format(namespace))
for i in e:
count += 1
return count

最佳答案

你可以像这样使用 GREL 表达式,试试看:

forEach(value.parseHtml().select("dc|identifier"),v,v.htmlText()).join(",")

对于找到的每个标识符,给我 htmlText 并用逗号连接它们。parseHtml() 使用 Jsoup.org 库,实际上只是解析标签和结构。它还知道如何使用 ns|identifier 格式解析 namespace ,并且在这种情况下是获取您想要的内容的好方法。

关于python - 如何使用 jython/python ElementTree 在 Google Refine 中解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com