问题标签 [lxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 lxml 和 python 更新 xml 文件?
如何使用 lxml 更新密码?现在我可以在同一个文件中再添加一条记录吗?
请给我一个示例代码
python - 使用 lxml 在 Python 中存储系统路径的 XML
我正在使用 xml 文件来存储软件的配置。
这些配置之一将是系统路径,例如
我可以使用以下方法存储它:
如果我使用
该文件将是:
<setting type="str" name="MyPath" value="c:\test\3 tests\test"/>
现在我用 etree.parse 方法再次阅读它
我获得了一个带有字符串值的 etree 子对象,但该字符串包含
\3
字符,如果我尝试使用它再次写入 xml,它将被解释!!!!!!!所以我不能再将它用作路径也许我只是缺少一个简单的字符串操作,但我看不到它=)您将如何以聪明的方式解决它?
这是一个示例,但是最好的方法是什么,您认为将路径存储在 xml 中并使用 lxml 解析它们?
谢谢 !!
python - 是否可以获得用于评估 xpath 结果的所有上下文节点?
是否可以获得用于评估 xpath 结果的所有上下文节点?在下面的代码中:
结果是:
是否可以获得上述 xpath 评估中使用的所有上下文节点:
对于第二个结果:
? 使用子轴时,我可以从工作中获取这些节点
但是其他轴呢?
TIA,问候
python - 在保留属性的同时使用 lxml.objectify 替换节点文本
lxml.objectify
像这样使用:
导致<a><b>newtext</b></a>
,丢失节点属性。它似乎是直接用新创建的元素替换元素,而不是简单地替换元素的文本。
如果我尝试使用o.b.text = 'newtext'
,它会告诉我
attribute 'text' of 'StringElement' objects is not writable
。
有没有办法在 objectify 中做到这一点,而不必将其拆分为不同的元素并涉及 etree?我只是想替换内部文本,同时不理会节点的其余部分。我觉得我在这里错过了一些简单的东西。
python - lxml 基本上什么都没有
Python的lxml
包似乎在我的系统上完全损坏了。我不确定这个问题,因为所有文件似乎都已到位。我怀疑问题出在 中__init__.py
,但我没有足够的系统练习来做出准确的诊断或解决问题。
这是一些我认为有助于诊断问题的代码:
就像我说的,我的怀疑是__init__.py
包含问题,但我不是 100% 确定。
另外,我使用的是 Linux Mint 8 - 大致相当于 Ubuntu 9.10。
提前致谢。
python - GAE 的 HTML 解析器
通常我使用lxml来满足我的 HTML 解析需求,但这在 Google App Engine 上不可用。显而易见的替代方案是BeautifulSoup,但我发现它在格式错误的 HTML 上太容易窒息了。目前我正在测试libxml2dom并取得了更好的结果。
您发现哪个纯 Python HTML 解析器性能最好?我的首要任务是处理不良 HTML 超过速度的能力。
python - 使用 lxml 删除 xml 节点
行政 。. . . 行政
这是我的 xml 文件。当我使用 clear() 或 del 方法时,它将清除所有子节点并创建一个空白节点
<user/>
我怎样才能避免创建这个空白节点
当我使用 findall() 并尝试访问它的任何孩子时,它会出现问题
谁能给我一段代码来完全删除节点???
python - Python:将 HTML 片段分隔为段落
我有一个包含段落的 HTML 片段。(我的意思是p
标签。)我想将字符串分成不同的段落。例如:
应该变成:
什么是解决这个问题的好方法?
python - 使用 lxml.etree.iterparse 解析损坏的 XML
我正在尝试以内存高效的方式使用 lxml 解析一个巨大的 xml 文件(即从磁盘懒惰地流式传输,而不是将整个文件加载到内存中)。不幸的是,该文件包含一些破坏默认解析器的错误 ascii 字符。如果我设置了recover=True,解析器就可以工作,但是iterparse 方法不采用recover 参数或自定义解析器对象。有谁知道如何使用 iterparse 解析损坏的 xml?
谢谢你的帮助!
编辑——这是我遇到的编码错误类型的一个例子:
如您所见,chardet 认为它是一个 ascii 文件,但在这个示例中间有一个“\x1e”,这使得 lxml 引发异常。
python - Python:使用 lxml 从 Open Office calc 导入数据
例如,如何导入字段 A1 的数据?当我使用 etree.parse() 时出现错误,因为我没有 xml 文件。