2009-07-01 10 views
5

मैं एक एक्सएचटीएमएल फ़ाइल उत्पन्न करने के लिए पायथन के एलिमेंट ट्री का उपयोग करने की कोशिश कर रहा हूं।पायथन के ElementTree के साथ "वर्चुअल रूट" कैसे बनाएं?

हालांकि, ElementTree.Element() बस मुझे एक टैग (उदा।, HTML) बनाने देता है। मुझे किसी वर्चुअल रूट या जिसे भी कहा जाता है, उसे बनाने की ज़रूरत है ताकि मैं विभिन्न, डॉक्टरेट्स इत्यादि डाल सकूं।

मैं यह कैसे कर सकता हूं? धन्यवाद

उत्तर

7

मैं वहाँ एक बेहतर तरीका है पता नहीं है, लेकिन मैं इस किया देखा है:

स्ट्रिंग के रूप बेस दस्तावेज़ बनाएँ: कि स्ट्रिंग

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html></html> 

तो पार्स शुरू करने के लिए अपने नया दस्तावेज़।

+2

+1, पुष्टि की है, ElementTree नहीं जोड़ सकते हैं/doctype बनाते हैं, तो यह समाधान है (लेकिन यह पार्स कर सकते हैं!) जितना साफ हो जाता है उतना साफ हो जाता है। –

0

मुझे एक ही समस्या है/थी। जब मैं किसी दस्तावेज़ को पार्स करता हूं और इसे दोबारा लिखता हूं तो डॉक्ट टाइप परिभाषा अब और नहीं होती है। लेकिन मैं एक समाधान प्रलेखन ब्राउज़ कर पाया:

link text

सहेजा जा रहा है एचटीएमएल फ़ाइलें #

एक सादे HTML फ़ाइल को सहेजने के लिए, बस पेड़ बाहर लिखें।

tree.write("outfile.htm") 

यह अच्छी तरह से काम करता है, जब तक कि फ़ाइल किसी भी एम्बेडेड एससीआरआईपीटी या स्टाइल टैग का विरोध नहीं करती है।

यदि आप चाहते हैं, तो आप फ़ाइल की शुरुआत करने के लिए एक DTD संदर्भ जोड़ सकते हैं:

file = open("outfile.htm", "w") 
file.write(DTD + "\n") 
tree.write(file) 
file.close() 
संबंधित मुद्दे