मैं एक XML फ़ाइल है कि एक सौपानिक संरचना है कि कुछ इस तरह (खरोज महत्वपूर्ण पदानुक्रमित संबंध दिखाने के लिए यहाँ प्रयोग किया जाता है) लग रहा है प्रिंट पार्स करने के लिए अजगर (minidom) का उपयोग कर रहा साथ पार्स:एक्सएमएल अजगर और minidom
My Document
Overview
Basic Features
About This Software
Platforms Supported
इसके बजाए, प्रोग्राम नोड्स पर कई बार पुनरावृत्त करता है और निम्नलिखित, प्रिंट डुप्लिकेट नोड्स का उत्पादन करता है। (प्रत्येक यात्रा पर नोड सूची को देखते हुए, यह स्पष्ट है कि ऐसा क्यों करता है, लेकिन मैं नोड सूची मैं तलाश कर रहा हूँ प्राप्त करने के लिए एक रास्ता खोजने के लिए प्रतीत नहीं कर सकते हैं।)
My Document
Overview
Basic Features
About This Software
Platforms Supported
Basic Features
About This Software
Platforms Supported
Platforms Supported
यहाँ XML स्रोत है फ़ाइल:
import xml.dom.minidom
from xml.dom.minidom import Node
dom = xml.dom.minidom.parse("test.xml")
Topic=dom.getElementsByTagName('Topic')
i = 0
for node in Topic:
alist=node.getElementsByTagName('Title')
for a in alist:
Title= a.firstChild.data
print Title
मैं 'SubTopic1' और 'की तरह कुछ करने के लिए निचले स्तर के विषय के नाम पर बदलकर घोंसला बनाने से नहीं' विषय 'तत्वों, यह समस्या सुलझा सकता है:
<?xml version="1.0" encoding="UTF-8"?>
<DOCMAP>
<Topic Target="ALL">
<Title>My Document</Title>
</Topic>
<Topic Target="ALL">
<Title>Overview</Title>
<Topic Target="ALL">
<Title>Basic Features</Title>
</Topic>
<Topic Target="ALL">
<Title>About This Software</Title>
<Topic Target="ALL">
<Title>Platforms Supported</Title>
</Topic>
</Topic>
</Topic>
</DOCMAP>
यहाँ अजगर कार्यक्रम है SubTopic2 '। लेकिन, मैं विभिन्न तत्व नामों की आवश्यकता के बिना अंतर्निहित एक्सएमएल पदानुक्रमित संरचना का लाभ लेना चाहता हूं; ऐसा लगता है कि मुझे 'टॉपिक' तत्वों को घोंसला करने में सक्षम होना चाहिए और यह जानने का कोई तरीका होना चाहिए कि वर्तमान में कौन सा स्तर 'विषय' मैं देख रहा हूं।
मैंने बिना किसी सफलता के कई अलग-अलग XPath फ़ंक्शंस का प्रयास किया है।
आप पहली बार एक के उत्पादन में चाहते हैं तो आप सिर्फ प्रत्येक तत्व से बाहर पाठ मुद्रित कर सकते हैं - मैं स्पष्ट नहीं कर रहा हूँ कैसे structuting वांछित उत्पादन – Mark