python - Weird lxml behavior -
निम्नलिखित स्निपेट पर विचार करें:
import lxml.html html = '& lt; div & gt; & Lt; br / & gt; हैलो टेक्स्ट & lt; / div & gt; ' Doc = lxml.html .fromstring (html) text = doc.xpath ('// text ()') [0] प्रिंट lxml.html.tostring (text.getparent ()) # प्रिंट्स & lt; br & gt; हैलो टेक्स्ट मुझे '& lt; div & gt; & lt; br / & gt; हैलो टेक्स्ट & lt; / div & gt;'
देखने की अपेक्षा थी, क्योंकि br
'नेस्टेड टेक्स्ट' नहीं है और '' स्व-बंद '' (मेरा मतलब / & gt;
) है। lxml
को कैसे ठीक करें?
HTML में स्वयं नहीं है टैग बंद करना यह एक XML चीज है।
आयात करें lxml.etree html = '& lt; div & gt; & lt; br / & gt; हैलो टेक्स्ट & lt; / div & gt;' Doc = lxml.etree.fromstring (html) text = doc.xpath ('// text ()') [0] प्रिंट lxml.etree.tostring (text.getparent ())
प्रिंट
& lt; br / & gt; हैलो टेक्स्ट
ध्यान दें कि पाठ टैग के अंदर नहीं है। lxml
में एक " पूंछ
" अवधारणा है।
& gt; & gt; & gt; प्रिंट टेक्स्ट.टेक्स्ट कोई नहीं & gt; & gt; & gt; प्रिंट text.tail हैलो टेक्स्ट
Comments
Post a Comment