【问题标题】:Java or Python way to extract a sub-XML from big XML depending on child text nodes根据子文本节点从大 XML 中提取子 XML 的 Java 或 Python 方法
【发布时间】:2016-08-24 12:18:19
【问题描述】:

我有一个大的 XML 需要处理,我需要提取所有“情况”标签,如果这些标签有 A-52、AP-9 或 A-他们的 55 个值,因为我不需要 XML 的其余部分。然后使用 XML 减法构建一个 XML 文档。我不需要实现,只是我想知道如何处理这个或者最适合的 API,谢谢。

PD:我的最终实现是将 XML 转储到数据库中

XML GET:

print("GETTING XML...")
resp = requests.get('http://infocar.dgt.es/datex2/dgt/SituationPublication/all/content.xml', stream = True) #XML that I need
if resp.status_code != 200:
    raise ApiError('GET /tasks/ {}'.format(resp.status_code))
print("XML RECIBIDO 200 OK")
#resp.raw.decode_content = True
print("GUARDANDO XML")
with open("DGT_DATEX.xml", "wb") as handle:
    for data in (resp.iter_content()):
        handle.write(data)

dom = parse("DGT_DATEX.xml")

【问题讨论】:

    标签: java python xml minidom xmldom


    【解决方案1】:

    对于非常大的 XML 文档,您最好使用 SAX 进行流式传输(不需要一次将整个文档保存在内存中),但对于轻松查找元素,XPath 确实很有帮助。

    对于 Python,xml.etree.ElementTree 中有一些 XPath supportxml.sax 中有 SAX - 当然还有其他解析器。

    还有用于 Java 的 SAX 实现和 XPath。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      相关资源
      最近更新 更多