栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过lxml.etree.iterparse解析单个文件中的多个XML声明

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过lxml.etree.iterparse解析单个文件中的多个XML声明

您提供的样本数据提出了一个问题,而您提供的问题和例外提出了另一个问题。您是否将多个XML文档串联在一起,每个文档都有自己的XML声明,或者您是否具有包含多个顶级元素的XML片段?

如果是前者,那么解决方案将涉及将输入流分成多个流,并分别解析每个流。正如一个评论所暗示的,这并不一定意味着实现XML解析器。您可以在字符串中搜索XML声明,而不必解析字符串中的任何其他内容,只要您的输入不包括包含未转义XML声明的CDATA部分。您可以编写类似文件的对象,该对象从基础流返回字符,直到命中XML声明为止,然后将其包装在生成器函数中,该函数将不断返回流,直到到达EOF。这不是小事,但也不是那么困难。

如果您有一个包含多个顶级元素的XML片段,则可以将它们包装为一个XML元素并解析整个内容。

当然,与涉及不良XML输入的大多数问题一样,最简单的解决方案可能只是修复产生不良输入的问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号