2013-08-19 35 views
7

tôi cố gắng phân tích tập tin XML trong Python sử dụng lxml như thế này:Làm thế nào để không tải các ý kiến ​​trong khi phân tích XML trong lxml

objectify.parse(xmlPath, parserWithSchema) 

nhưng tập tin XML có thể chứa ý kiến ​​ở những nơi lạ:

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

Đó là một cách để không tải hoặc xóa nhận xét trước khi phân tích cú pháp?

Trả lời

8

Set remove_comments=True trên phân tích cú pháp (documentation):

from lxml import etree, objectify 

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

Hoặc, sử dụng phương pháp makeparser():

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

Hy vọng rằng sẽ giúp.

+1

Điều này không hiệu quả đối với tôi. Cách chính xác là sử dụng 'parser = objectify.makeparser (remove_comments = True)' như được chỉ ra ở đây http://stackoverflow.com/a/7513498/551045 – RedX

+0

@RedX cảm ơn bạn, tôi đã cải thiện câu trả lời cho phù hợp. – alecxe