jjzjj

python - 如何使用 xml.etree 解析外部实体,如 lxml.etree

我有一个使用lxml.etree解析XML的脚本:fromlxmlimportetreeparser=etree.XMLParser(load_dtd=True,resolve_entities=True)tree=etree.parse('main.xml',parser=parser)我需要load_dtd=True和resolve_entities=True从globals.xml解析&emptyEntry;:]>&emptyEntry;KEYVALUEKEYVALUE使用globals.xml">现在我想从非标准的lxml转移到标准的xml.etree。但是我的文件失败了,因为

python - 使用 lxml,是什么导致 "lxml.etree.XMLSyntaxError: Document is empty"错误?

我正在使用mechanize/cookiejar/lxml来读取页面,它适用于某些页面但不适用于其他页面。我在其中遇到的错误是标题中的错误。我不能在这里发布页面,因为它们不是SFW,但是有没有办法修复它?基本上,这就是我所做的:importmechanize,cookielibfromlxmlimportetreebr=mechanize.Browser()cj=cookielib.LWPCookieJar()br.set_cookiejar(cj)br.set_handle_equiv(True)br.set_handle_gzip(True)br.set_handle_redire

Python:加入和写入(XML.etrees)存储在列表中的树

我正在遍历一些XML文件并生成我想存储在defaultdict(list)类型中的树。在每个循环中,找到的下一个child将存储在字典的单独部分中。d=defaultdict(list)counter=0forchildinroot.findall(something):tree=ET.ElementTree(something)d[int(x)].append(tree)counter+=1因此,对多个文件重复此操作会产生很好的索引结果;一组在不同解析文件中位于位置1的树,依此类推。问题是,我如何连接所有d,并将树(作为累积树)写入文件?我可以遍历字典来获取每棵树:forxind:f

python - lxml 无法解析 xml(编码是否为 utf-8)[python]

我的代码:importreimportrequestsfromlxmlimportetreeurl='http://weixin.sogou.com/gzhjs?openid=oIWsFt__d2wSBKMfQtkFfeVq_u8I&ext=2JjmXOu9jMsFW8Sh4E_XmC0DOkcPpGX18Zm8qPG7F0L5ffrupfFtkDqSOm47Bv9U'r=requests.get(url)items=r.json()['items']没有编码('utf-8'):etree.fromstring(items[0])输出:ValueErrorTraceback(mostr

python - Python 的 xml.etree.ElementTree 叶元素的意外 bool 行为

我在使用Python2.6.5xml.etree.ElementTree库时遇到了一些问题。特别是,如果我像下面这样设置一个简单的xml元素>>>importxml.etree.ElementTreeasetree>>>xml=etree.fromstring("xy")访问内部元素节点时,我对库没有任何问题,例如:>>>etree.tostring(xml.find('b'))'xy'>>>xml.find('b')==NoneFalse>>>bool(xml.find('b'))True但是,我遇到了一个奇怪的叶元素节点的bool值解释,请参阅:>>>etree.tostring(

python - 在特定位置插入xml节点

我想构建以下xml:Hello2014-01-011给定以下代码结构,我将如何插入节点在英雄节点之前?item=etree.SubElement(self.xml_node,'Item')etree.SubElement(item,'Name').text='Hello'etree.SubElement(item,'Hero').text=1#Now,howtoinsertthe'Date'elementbeforetheHeroelement? 最佳答案 使用etree.SubElement始终将子元素附加到父元素的末尾item.

python - 如何使用 QName(python xml.etree.ElementTree?)

我已经阅读了大量关于QName的资料,但我找不到任何关于如何使用它的好例子。有人可以给我一个简单的例子来说明如何使用QName并解释它将在什么上下文中使用吗? 最佳答案 QName可以在构造具有与包含元素不同的namespace中的属性的XML文档时使用。示例(Python2.7):fromxml.etreeimportElementTreeasETNS1="http://example1.com"NS2="http://example2.com"ET.register_namespace("x",NS1)ET.register_n

python - xml.etree.ElementTree 的 findall() 和 iterfind() 有什么区别

我用下面的方法写了一个程序fromxml.etree.ElementTreeimportETxmlroot=ET.fromstring([myxmlcontent])forelementinxmlroot.iterfind(".//mytag"):dosomething它在我的python(v2.7.1)上工作正常,但在我将它复制到另一台安装了pythonv2.6.x的计算机后,不支持iterfind(),在pythondocument,下面列出了描述findall(match)Findsallmatchingsubelements,bytagnameorpath.Returnsali

python - 使用 xml.etree.ElementTree 获取子节点的所有实例

我有以下XML文件作为输入:0115555555777770112222222100我想输出dialledDigits的所有值。但是,我的代码只显示dialledDigits的第一个实例。dialledDigits{}5555555我想要的输出应该包含这两个实例。dialledDigits{}5555555dialledDigits{}2222222这是我的代码importxml.etree.ElementTreeasETtree=ET.parse('as.xml')root=tree.getroot()callevent=root.find('callEvents')Moc1=cal

attributeError:'xml.etree.elementtree.element'对象没有属性'encode'

我正在尝试制作桌面通知器,为此,我正在从网站上删除新闻。运行程序时,我会收到以下错误。news[child.tag]=child.encode('utf8')AttributeError:'xml.etree.ElementTree.Element'objecthasnoattribute'encode'我该如何解决?我完全是新手。我尝试搜索解决方案,但它们都不对我有用。这是我的代码:importrequestsimportxml.etree.ElementTreeasET#urlofnewsrssfeedRSS_FEED_URL="http://www.hindustantimes.com/