मैं एक एक्सएमएल फ़ाइल खोलने की कोशिश कर रहा हूं, और कुछ टैग से मूल्य प्राप्त कर रहा हूं। मैंने यह बहुत कुछ किया है लेकिन यह विशेष एक्सएमएल मुझे कुछ मुद्दों दे रहा है।xmlns नेमस्पेस ब्रेकिंग lxml
<?xml version='1.0' encoding='UTF-8'?>
<package xmlns="http://apple.com/itunes/importer" version="film4.7">
<provider>filmgroup</provider>
<language>en-GB</language>
<actor name="John Smith" display="Doe John"</actor>
</package>
यहाँ और मेरे अजगर कोड का एक नमूना है:: यहाँ xml फ़ाइल का एक वर्ग है
metadata = '/Users/mylaptop/Desktop/Python/metadata.xml'
from lxml import etree
parser = etree.XMLParser(remove_blank_text=True)
open(metadata)
tree = etree.parse(metadata, parser)
root = tree.getroot()
for element in root.iter(tag='provider'):
providerValue = tree.find('//provider')
providerValue = providerValue.text
print providerValue
tree.write('/Users/mylaptop/Desktop/Python/metadataDone.xml', pretty_print = True, xml_declaration = True, encoding = 'UTF-8')
जब मैं इस चलाने के यह प्रदाता टैग या अपने मूल्य नहीं मिल रहा। अगर मैं xmlns="http://apple.com/itunes/importer"
हटा देता हूं तो सभी उम्मीद के अनुसार काम करते हैं। मेरा सवाल यह है कि मैं इस नेमस्पेस को कैसे हटा सकता हूं, क्योंकि मुझे इसमें कोई दिलचस्पी नहीं है, इसलिए मुझे lxml का उपयोग करने वाले टैग मान प्राप्त हो सकते हैं?
यही उत्कृष्ट ubuntu, काम करता है इलाज, चियर्स:
यहाँ उन कार्यों कर रहे हैं। – speedyrazor
उबंटू, मुझे टैग की विशेषता कैसे मिलेगी, मैंने अपना मूल उदाहरण संशोधित किया है, इसलिए मैं अभिनेता नाम = – speedyrazor
के मूल्य की तलाश में हूं यदि आपके पास 'तत्व' है, तो आप 'तत्व' के साथ विशेषता मान तक पहुंच सकते हैं .attrib [ 'नाम'] '। हालांकि, यदि आप किसी XML फ़ाइल से 'प्रदाता' और 'अभिनेता' तत्वों को स्क्रैप कर रहे हैं, तो आप '| '(या) वाक्यविन्यास का उपयोग करके दोनों को एक ही XPath सेट अप कर सकते हैं। मैंने यह दिखाने के लिए पोस्ट संपादित किया है कि मेरा क्या मतलब है। – unutbu