lxml मैं अजगर lxml पुस्तकालय का उपयोग कर रहा है एक नया स्कीमा के एक्सएमएल फाइल को बदलने के लिए, लेकिन मैं एक्सएमएल शरीर से प्रोसेसिंग निर्देश पार्स करने में समस्याएं आई थी।अजगर के साथ प्रसंस्करण निर्देश निकाला जा रहा है
प्रोसेसिंग निर्देश तत्वों, एक्सएमएल में फैले हुए कर रहे हैं निम्न उदाहरण में (वे सब "Oasys" के साथ शुरू और एक अद्वितीय कोड के साथ समाप्त):
string = "<text><?oasys _dc21-?>Text <i>contents</i></text>"
मैं उन के माध्यम से पता नहीं लगा सकते विधि है, हालांकि etree.getchildren()
उन्हें रिटर्न:
tree = lxml.etree.fromstring(string)
print tree.findall(".//")
>>>> [<Element i at 0x747c>]
print tree.getchildren()
>>>> [<?oasys _dc21-?>, <Element i at 0x747x>]
print tree.getchildren()[0].tag
>>>> <built-in function ProcessingInstruction>
print tree.getchildren()[0].tail
>>>> Text
वहाँ getchildren()
का उपयोग कर पार्स और प्रोसेसिंग निर्देश दूर करने के लिए, विशेष रूप से विचार कर रहा है कि वे अपरोक्ष विभिन्न स्तरों पर नेस्ट रहे हैं के लिए एक विकल्प है एक्सएमएल के बारे में?
आप वास्तव में अपने जवाब के साथ दो समस्याओं को हल किया गया है - मैं strip_tags() फ़ंक्शन के बारे में पता नहीं था, लेकिन यह बहुत उपयोगी है! –