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

Popular posts from this blog

MySql variables and php -

url rewriting - How to implement the returnurl like SO in PHP? -

Which Python client library should I use for CouchdB? -