我有以下XML文档:
<x>
<a>Some text</c>
<b>Some text 2</b>
<c>Some text 3</c>
</x>
我想得到所有标记的文本,所以我决定使用getiterator()
。在
我的问题是,它加起来的空白行的原因我不明白。考虑一下这个:
^{pr2}$注意“sometext”前面的两个空行。这是什么原因?如果我将一个标记传递给getiterator()
方法,那么就没有空行了。在
>>> for text in document_root.getiterator('a'):
... print text.text
...
Some text
所以我的问题是,如果我不带标记传递getiterator()
,是什么导致了这些额外的空行,我如何删除它们?在
默认情况下,
lxml.etree
将把标记之间的空白文本视为该标记的文本内容,在您的例子中,显示的空白来自<x>
。如果您想要一个忽略空白的解析器,您需要执行以下操作:注意如果根本没有文本,}被弃用,取而代之的是{}。在
node.text
将如何返回None。还要注意,the API documentation for lxml声明{有关详细信息,请参阅The lxml.etree Tutorial: Parser objects。在
虽然我不确定,但我认为它是在<;x>;内读取文本;。在
总之,怎么了
相关问题 更多 >
编程相关推荐