में सभी एक्सएमएल नोड पीढ़ियों को Iterate मैं यह देखने के लिए जांचना चाहता हूं कि एक XML दस्तावेज़ में कहीं भी 'व्यक्ति' तत्व है या नहीं। मैं सभी पहली पीढ़ी के तत्वों की जांच कर सकते बहुत बस:जावा डीओएम
NodeList nodeList = root.getChildNodes();
for(int i=0; i<nodeList.getLength(); i++){
Node childNode = nodeList.item(i);
if (childNode.getNodeName() == "person") {
//do something with it
}
}
और और मैं उसके उप-तत्व में जाने के लिए और अधिक छोरों में जोड़ सकते हैं, लेकिन मुझे पता है कि कितने नेस्टेड छोरों में में कितनी दूर डाल करने के लिए यह निर्धारित करने के लिए होता है ड्रिल करने के लिए दस्तावेज़। मैं 10 लूप घोंसला कर सकता था, और किसी दिए गए दस्तावेज़ में गहरे 12 तत्वों को निहित व्यक्ति तत्व के साथ समाप्त कर सकता था। मुझे इस तत्व को खींचने में सक्षम होना चाहिए कि इससे कोई फर्क नहीं पड़ता कि यह कितना गहराई से घिरा हुआ है।
क्या पूरे दस्तावेज़ से तत्वों को फसल करने का कोई तरीका है? सभी टैग्स के पाठ मानों को सरणी के रूप में वापस करने या इसके ऊपर पुनरावृत्ति की तरह?
कुछ अजगर के ElementTree 'findall' विधि शायद के लिए समान:
for person in tree.findall('//person'):
personlist.append(person)
मुझे तुम्हारी जरूरत है लगता है http://en.wikipedia.org/wiki/Recursion_%28computer_science % 29। –