当前位置: 首页 > 面试题库 >

Python从文档中剥离XML标签

葛志国
2023-03-14
问题内容

我正在尝试使用Python(一种我刚接触的语言)从文档中剥离XML标记。这是我第一次使用regex,这确实是一个最好的主意。

mfile = file("somefile.xml","w")

for line in mfile:
    re.sub('<./>',"",line) #trying to match elements between < and />

那惨败了。我想知道如何用正则表达式来完成。

其次,我在Google上搜索并找到:http : //code.activestate.com/recipes/440481-strips-
xmlhtml-tags-from-string/

这似乎有效。但是我想知道有没有更简单的方法来摆脱所有xml标签?也许使用ElementTree?


问题答案:

请注意,通常用正则表达式来做是不正常的。见耶利米回答。

尝试这个:

import re

text = re.sub('<[^<]+>', "", open("/path/to/file").read())
with open("/path/to/file", "w") as f:
    f.write(text)


 类似资料:
  • 我试图使用PDFBox从pdf文件中提取带有坐标的文本。 我混合了一些在互联网上找到的方法/信息(stackoverflow也是),但是我有坐标的问题似乎是不对的。例如,当我试图使用坐标在tex上画一个矩形时,矩形被画在了其他地方。 这是我的代码(请不要判断风格,写得很快只是为了测试) TextLine.java myStripper.java 单击AWT按钮上的事件 有什么建议吗?我做错了什么?

  • 问题内容: 使用Python中的ElementTree,如何从节点中提取所有文本,剥离该元素中的所有标签并仅保留文本? 例如,说我有以下内容: 我想回来。我该怎么做呢?到目前为止,我所采用的方法产生了相当灾难性的结果。 问题答案: 如果您在Python 3.2+下运行,则可以使用。 创建一个文本迭代器,该迭代器按文档顺序循环遍历此元素和所有子元素,并返回所有内部文本: 如果您在较低版本的Pytho

  • 问题内容: 如何从字符串中删除HTML标签,以便可以输出纯文本? 问题答案: 嗯,我尝试了您的功能,并在一个小例子上工作了: 你能举一个例子吗? Swift 4和5版本:

  • 问题内容: 是否存在现有的Java库,该库提供了一种从字符串中剥离所有HTML标记的方法?我正在寻找与PHP中的功能等效的东西。 我知道我可以使用这个问题中描述的正则表达式,但是我很好奇,是否可能已经有一种方法可以在Apache Commons库中的某个地方使用。 问题答案: 在开放了将近一个星期的问题之后,我可以肯定地说,Java API或Apache库中没有可用的方法可从字符串中剥离HTML标

  • 问题内容: 当在HTML文件中打印一行时,我试图找到一种仅显示每个HTML元素的内容而不显示格式本身的方法。如果找到,它将仅打印“某些文本”,打印“ hello”,等等。如何去做呢? 问题答案: 我一直使用此函数来剥离HTML标记,因为它仅需要Python stdlib: 对于Python 3: 对于Python 2:

  • 问题内容: 假设我有以下几点: 我想测试该功能,而无需经历建立连接的麻烦(或装饰者所做的任何事情)。 给定,我如何从中剥离装饰器并获得基础的“未装饰”功能? 问题答案: 在一般情况下,您不能这样做,因为 相当于 这意味着“原始”垃圾邮件甚至可能不再存在。一个(不太漂亮的)hack是这样的:

  • 问题内容: 如何从JavaScript中的字符串中剥离HTML? 问题答案: 使用浏览器的解析器可能是当前浏览器中最好的选择。以下将起作用,但有以下警告: 您的HTML在一个元素内有效。HTML包含在或或标签无效内的,因此可能无法正确解析。 (DOM标准属性)和(非标准)属性不相同。例如,将在元素内包含文本,而在元素内则不(在大多数浏览器中)。这只会影响IE <= 8,这是唯一不支持的主要浏览器。

  • 问题内容: 我需要用ajax调用产生的html替换页面中div的内容。问题是html中包含一些必要的脚本,并且jquery html()函数似乎将它们剥离了,我需要过滤响应并仅获取特定的div。 我正在考虑一种解决方法,该方法是从ajax响应中提取所有脚本标签,然后将其附加到DOM中,但是这样做很麻烦。 这是我的代码; 但这是任何结论。我尝试了那里提出的解决方案,但没有一个起作用。 编辑:我似乎找