2011-02-22 26 views
5

मैं lxml के साथ कुछ एक्सएमएल पैदा कर रहा हूँ और हो रही नोड्स इस तरह उत्पन्न:lxml का उपयोग करते समय, XML को नेमस्पेस विशेषताओं के बिना प्रस्तुत किया जा सकता है?

<QBXML xmlns:py="http://codespeak.net/lxml/objectify/pytype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
py:pytype="TREE"> 

और:

<MaxReturned py:pytype="int"> 

ये कस्टम विशेषताओं Quickbooks 'पार्सर की हत्या कर रहे हैं। क्या मैं कस्टम सामान के बिना प्रस्तुत करने के लिए एलएक्सएमएल प्राप्त कर सकता हूं?

उत्तर

6

इसके बारे में निम्नलिखित देखभाल की तरह लग रहा:

objectify.deannotate(root, xsi_nil=True) 
etree.cleanup_namespaces(root) 

या, lxml का उपयोग कर यदि> = 2.3.2 (धन्यवाद @Pedru):

objectify.deannotate(root, cleanup_namespaces=True, xsi_nil=True) 
+0

lxml संस्करण से 2.3.2 आप() 'cleanup_namespaces = TRUE' पारित कर सकते हैं' objectify.deannotate को '(' etree.cleanup_namespaces() 'कॉल करने के लिए कोई जरूरत नहीं) – Pedru

0

अगर आप

उपयोग कर रहे हैं
etree.fromstring(xml_response) 

तो यह कर:

xml_response.replace(' xmlns:', ' xmlnamespace:').replace(' xmlns=', ' xmlnamespace=') 

यह बचा जाता है कभी पार्स करने नामस्थान

संबंधित मुद्दे

 संबंधित मुद्दे