तरह xml.etree के साथ बाहरी संस्थाओं को हल करने मैं एक स्क्रिप्ट है कि XML पार्स lxml.etree
का उपयोग कर दिया है:कैसे lxml.etree
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE map SYSTEM "globals.xml" [
<!ENTITY dirData "${DATADIR}">
]>
<map
xmlns:map="http://my.dummy.org/map"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsschemaLocation="http://my.dummy.org/map main.xsd"
>
&emptyEntry; <!-- from globals.xml -->
<entry><key>KEY</key><value>VALUE</value></entry>
<entry><key>KEY</key><value>VALUE</value></entry>
</map>
:
from lxml import etree
parser = etree.XMLParser(load_dtd=True, resolve_entities=True)
tree = etree.parse('main.xml', parser=parser)
मैं load_dtd=True
और resolve_entities=True
होना है &emptyEntry;
globals.xml
से हल हो की जरूरत है
globals.xml
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY emptyEntry "<entry></entry>">
अब मैं गैर-मानक lxml
से मानक xml.etree
पर स्थानांतरित करना चाहता हूं। लेकिन यह मेरी फ़ाइल के साथ विफल रहता है क्योंकि load_dtd=True
और resolve_entities=True
xml.etree
द्वारा समर्थित नहीं है।
क्या इन इकाइयों को हल करने के लिए xml.etree
है?