ElementTree是一个用于创建和解析XML的Python库。
我想删除包含命名空间的特定元素的属性。 在以下元素中: 我想删除 xsi:nil...
如何在 python 中基于父标签名称在嵌套 xml 中添加新元素
我有 config.json 文件,我需要根据配置文件生成 xml 文件 我的配置文件看起来像。 { “元素”:[ { “元素类型”:“根”, ...
XML : lxml.etree - findall() when document element has attributes
.findall() 在文档元素具有属性时找不到任何内容。为什么会出现这种行为以及如何解决? 这是代码: 从 lxml 导入 etree as et 文本 = '''\ .findall() 当文档元素具有属性时找不到任何内容。为什么会出现这种行为以及如何解决? 代码如下: from lxml import etree as et text = '''\ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\ <text class="what1 y2">abc</text><text class="what17 x1">nbc</text>\ <text class="f18 sf4 f12" textLength="72.18">ID_NUM.47</text></svg>''' tree = et.fromstring(text) for elem in tree.findall(".//text"): if elem.text == "ID_NUM.47": elem.getparent().remove(elem) print(et.tostring(tree)) tree.findall(".//text") 返回一个空列表。 但是对于以下文档,其中删除了svg标签属性,找到了所有元素: text = '''\ <svg><text class="what1 y2">abc</text><text class="what17 x1">nbc</text>\ <text class="f18 sf4 f12" textLength="72.18">ID_NUM.47</text></svg>''' 此外,例如,当用 .findall() 替换 .xpath('//*[attribute::textLength]') 时,所有元素都在两个文档中找到。
我必须处理一些 XML 文件,与我在教程中看到的相比,这些文件似乎解析得很奇怪。 文字 文本2 ...
如何为 Minidom 中的特定节点使用 getElementsByTagName
我的 XML 看起来像这样 JKH 我的 XML 看起来像这样 <TOPIC> <LIST> <Area>JKH</Area> <USED> <type id='123' /> <type id='345' /> </USED> <DEMAND> <type id='809' /> <type id='321' /> </DEMAND> <CLOSED> <type id='456' /> <type id='765' /> </CLOSED> </LIST> </TOPIC> 这里我只想打印id下的<DEMAND>。我试过下面的代码。 from xml.dom import minidom root=minidom.parse('sample.xml') tag=root.getElementsByTagName('type') for i in tag: print(i.getAttribute("id")) 但是这是打印所有id值,如下所示。 123 345 809 321 456 765 我怎样才能只获得809标签下的321和<DEMAND>。我可以在 ElementTree 中给出路径,但不确定如何在 getElementsByTagName 中让步?在 Minidom 中甚至可能吗? for demand in root.getElementsByTagName('DEMAND'): for tp in demand.getElementsByTagName('type'): print(tp.getAttribute("id"))
在 python 中现有 XML 文件中特定但未定义的位置之后添加新的 XML 元素
我想将一个新的 XML 元素添加到现有的 XML 文件中,问题是位置因文件而异,但我想始终将我的新元素插入特定元素的最后一个标签之后...
我有一个 XML 文件,我只需要更改其中的 2 个属性: 我有一个 XML 文件,我只需要更改其中的 2 个属性: <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> <Document> <name>lines.kmz</name> <Style id="LineStyle00"> <LabelStyle> <color>00000000</color> <scale>0</scale> </LabelStyle> .............. 我需要更改的是colo标签内的scale和labelstyle。 这是我试过的: import xml.etree.ElementTree as ET def update_label_style(kml_path, new_color, new_scale): # parse the KML file tree = ET.parse(kml_path) root = tree.getroot() # define the namespace for KML elements ns = {'kml': 'http://www.opengis.net/kml/2.2'} # find all LabelStyle elements and update their color and scale values for label_style in root.findall('.//kml:LabelStyle', ns): label_style.find('kml:color', ns).text = new_color label_style.find('kml:scale', ns).text = new_scale # write the updated KML file back to disk tree.write(kml_path, encoding='utf-8', xml_declaration=True) print("Changed the label style") 编辑完成后,XML 文件如下: <?xml version='1.0' encoding='utf-8'?> <ns0:kml xmlns:ns0="http://www.opengis.net/kml/2.2"> <ns0:Document> <ns0:name>lines.kmz</ns0:name> <ns0:Style id="LineStyle00"> <ns0:LabelStyle> 问题是它在每个标签之前添加了ns0,它还删除了整行 <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
我知道 StackOverflow 上有不同的类似主题,但我无法找出我的示例中的问题。 我有一个模板 xml 文件。我想使用这个模板来添加新的子元素并保存...
Python 新手,在从 URL 源转换为 XML 时遇到问题。尝试了很多方法来修复代码,但卡住了。任何建议都会非常有帮助! 下面的程序错误在'xtre ...
我正在尝试使用 e.find('..)' 访问树中元素的父节点,但它不起作用。对于以下代码: 将 xml.etree.ElementTree 导入为 etree xml =“<...
这说 input 是 ET 的一个对象,但 input 不是一个函数吗?此外,我从来没有创建过一个名为 input 的对象,为什么会这样呢? 我应该怎么做才能解决这个问题? 代码: 导入 xml.etree.Element...
如何使用 ElementTree 在 Python 中获取下面提到的 xml 的值?
我正在使用 ElemetTree 迭代所有 xml 标记。而我的一些 xml 内容看起来像下面的 xml。当迭代 xml 时, 标记文本为 None 而不是“This is the Resul ...
exception':“无法解析 QName 'SOAP:',第 1 行,第 7 列
我从 api 得到了这个 xml,但之后我想使用 xpath 获取 xml 属性的值,但在第一步 树 = etree.parse(StringIO(hotel_details_logs)) 我有异常...
我正在尝试使用 Python 将 XML 文件转换为 CSV 文件。我在试图查找的 XML 中有两个值。 这是我的代码: 导入 csv 将 xml.etree.ElementTree 导入为 ET 定义主要(): #
使用xml.etree.elementtree来处理xml与xmlns="http://www.w3.org/2005/Atom"
我正在尝试处理从网络中提取的数据。解码后的原始数据是 xml 文件的字节。我有一些旧代码神奇地起作用了。但是,我不确定他们在做什么,因为我...
我有 df,我将其转换为 python 字典,然后将其转换为 xml 格式。 A列 B列 获取标题 地位 获取标题 时间戳 提交图书 标题 提交图书 日期 提交图书 页数 我...
Python xml.etree.ElementTree 添加没有控制台输出的子元素
我想在不将内容写入控制台的情况下将子元素添加到 XML 文件。 我正在执行以下操作以将子元素添加到 XML 文件: 将 xml.etree.ElementTree 导入为 ET tree=ET.parse('我的...
我正在处理从 Apple Health 作为 xml 文件导出的数据。 workouts = [node for node in nodes if node.tag == 'Workout'] ET.dump(锻炼[0]) 告诉我有一个子元素,WorkoutStatist ...