草庐IT

elementtree

全部标签

python - 使用元素树读取动态xml

环境:Windows、Python、wxpython和Elementtree作为xml解析器。我正在开发一个独立的系统,它可以读取xml并创建一棵树。我的应用程序读取xml并创建树,但是当xml下次更改时(当xml的深度增加时-我的意思是当添加两个子元素时)。应用程序无法读取(逻辑失败:()例如我写了一个逻辑,可以读取任何深度为5的xml。但是当它读取深度超过5的xml时,它会失败。请告诉我如何读取深度为动态的xml。 最佳答案 你应该使用递归调用,更像是:defrecurse_tree(node):tree={}forelemen

Python ElementTree - 插入元素的副本

我有以下xml代码:我想复制相同的信息,但名称不同。即,最终输出应该是:我尝试执行以下操作:model_tag=tree.findall(data_path)#Imakesurethatdata_pathiscorrect.len_tags=len(model_tag)i=0whilei如果我使用“copy.deepcopy”,我就没有额外的元素。输出是:如果我使用“copy.copy”,只需更改元素的名称。输出是:知道我做错了什么吗? 最佳答案 您必须获取那些data元素的父级并使用Element.insert(index,ele

python - 请问如何从目录中加载 XML 文件

这段代码是我在互联网上的某个地方找到的,我对其进行了编辑。如何从我的目录加载XML文件?有什么办法吗?fromelementtreeimportElementTreeaset#Loadthexmlcontentfromastringcontent=et.fromstring("C:\DATA\US_Patent_Data\2012\ipgb20120103_wk01\ipgb20120103.xml")#Getthepersonorusethe.findallmethodtogetall#peopleifthere'smorethanpersonapplicant=content.fi

python - 使用 Python ElementTree/ElementInclude 和 xpointer 访问包含的 XML 文件

我有一个包含2个“sub_x.xml”文件的“main.xml”文件。包含行使用“xpointer”仅指向/包含包含xml的特定标记。当我使用ElementTree来确定它是否正常工作时,它显示整个“子”xml文件都被包含在内,而不仅仅是我想要的标签。我不确定我是否错误地使用了xpointer或者ElementTree或ElementInclude不支持这个。以下是文件:-----'main.xml'---------``--------'sub_1.xml'------``--------'sub_2.xml'------``我希望“main.xml”在ElementTree中显示为

使用 ElementTree 和请求进行 XML 解析

我正在尝试使用YahooWeatherAPI,但在解析API响应的XML时遇到了一些问题。我正在使用Python3.4。这是我正在使用的代码:weather_url='http://weather.yahooapis.com/forecastrss?w=%s&u=%s'url=weather_url%(zip_code,units)try:rss=parse(requests.get(url,stream=True).raw).getroot()conditions=rss.find('channel/item/{%s}condition'%weather_ns)return{'cur

python - 使用 Python 的 elementtree 为带有文本的节点添加书尾

我正在尝试将文本书挡添加到XML文件中的字符串。如果之前已经翻译过一个字符串,我想添加一个@@@和###到字符串的开头和结尾以进行进一步处理。最终结果如下所示:Ihavearedpen.@@@J'aiunstylorouge.###我在使用xml.minidom之前尝试过并创建了一个通用文本节点,例如start_tag=xmldoc.createTextNode(u'@@@'),并且能够将节点作为子节点插入/附加。(出于各种原因,我最终放弃了使用minidom。)我能够从minidom转换我的脚本至elementtree相当快,但我陷入了这个最关键的点。我已经阅读并重新阅读了文档,但我

python - 使用 Python 查找和转换 XML 处理指令

我们正在将古老的FrameMaker文档转换为XML。我的工作是转换它:`为此:foo,bar我(还)不担心那部分;令我感到困惑的是ProcessingInstruction遍布整个文档并且可能在任何元素下,因此我需要能够搜索整个树,找到它们,然后处理它们。我不知道如何使用minidom遍历整个XML树。我错过了一些secret方法/迭代器吗?这是我到目前为止所看到的:Elementtree有优秀的Element.iter()方法,这是一个深度优先搜索,但它不处理ProcessingInstructions.ProcessingInstruction没有标签名称,因此我无法使用mini

python elementtree xml追加

我在向xml文件中添加元素时遇到了一些问题我有一个具有这种结构的xml:firstonetwothreesecondonetwothree我只想在itemid为第二个时添加数据,并得到如下输出:firstonetwothreesecondonetwothreeFOURFIVE感谢您的帮助! 最佳答案 不清楚您是想如何找到添加元素的位置还是如何添加元素本身。对于这个具体的例子,为了找到哪里,你可以尝试这样的事情:importxml.etree.ElementTreeasETtree=ET.parse('xml-file.txt')ro

python - 如何使用 Python 将命名空间和前缀插入到 XML 字符串中?

假设我有一个XML字符串:thingstuff我想插入一个XML模式使用的类型的命名空间,在所有元素名称前放置一个前缀。thingstuff有没有办法使用lxml.etree或类似的库来做到这一点(除了蛮力查找替换或正则表达式)? 最佳答案 我认为仅使用ElementTree无法做到这一点。操作namespace有时会非常棘手。SO上有很多关于它的问题。即使使用更高级的lxml图书馆,真的很难。查看这些相关问题:lxml:addnamespacetoinputfileModifynamespacesinagivenxmldocume

python - 使用 python ElementTree 过滤 xml/nessus 扫描

Python初学者需要帮助过滤.xml文件。我一直在尝试使用xml.etree.ElementTree但收效甚微。xml看起来像这样:Ipsumloremetcleviosa!Sedutperspiciatisundeomnisiste如果ReportItem.pluginID与黑名单上的项目匹配,我想删除整个元素(ReportItem)及其子元素,然后编写过滤后的.xml。谢谢!编辑-这是我目前所做的,但我不确定如何让它与这种嵌套级别一起工作:fromxml.etree.ElementTreeimportElementTreetree=ElementTree()#Testinputt