From 5bd09164de9b5a45ffea4171968b8186dcdc6f69 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Thu, 11 Dec 2014 22:23:26 -0500 Subject: Improved the lxml tree builder's handling of processing instructions. [bug=1294645] --- bs4/builder/_lxml.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'bs4/builder/_lxml.py') diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py index 978c8df..b0bc8a0 100644 --- a/bs4/builder/_lxml.py +++ b/bs4/builder/_lxml.py @@ -7,7 +7,12 @@ from io import BytesIO from StringIO import StringIO import collections from lxml import etree -from bs4.element import Comment, Doctype, NamespacedAttribute +from bs4.element import ( + Comment, + Doctype, + NamespacedAttribute, + ProcessingInstruction, +) from bs4.builder import ( FAST, HTML, @@ -191,7 +196,9 @@ class LXMLTreeBuilderForXML(TreeBuilder): self.nsmaps.pop() def pi(self, target, data): - pass + self.soup.endData() + self.soup.handle_data(target + ' ' + data) + self.soup.endData(ProcessingInstruction) def data(self, content): self.soup.handle_data(content) -- cgit v1.2.3