2013-08-19 118 views
7

我嘗試解析XML文件中使用Python LXML這樣不加載評論:如何在解析XML在LXML

objectify.parse(xmlPath, parserWithSchema) 

但XML文件可能包含在陌生的地方註釋:

<root> 
    <text>Sam<!--comment-->ple text</text> 
    <!--comment--> 
    <float>1.2<!--comment-->3456</float> 
</root> 

這是一種在解析之前不加載或刪除註釋的方法嗎?

回答

8

的解析器集remove_comments=Truedocumentation):

from lxml import etree, objectify 

parser = etree.XMLParser(remove_comments=True) 
tree = objectify.parse(xmlPath, parser=parser) 

或者使用makeparser()方法:

parser = objectify.makeparser(remove_comments=True) 
tree = objectify.parse(xmlPath, parser=parser) 

希望有所幫助。

+1

這不適合我。正確的方法是使用'parser = objectify.makeparser(remove_comments = True)'這裏指出http://stackoverflow.com/a/7513498/551045 – RedX

+0

@RedX謝謝你,我相應地改進了答案。 – alecxe