"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कौन सा SAX पार्सर कार्यान्वयन, `org.xml.sax` या` Android.sax`, मेरे XML पार्सिंग जरूरतों के लिए सबसे अच्छा है?

कौन सा SAX पार्सर कार्यान्वयन, `org.xml.sax` या` Android.sax`, मेरे XML पार्सिंग जरूरतों के लिए सबसे अच्छा है?

2025-02-24 को पोस्ट किया गया
ब्राउज़ करें:427

] XML.SAX और Android.sax। प्रत्येक कार्यान्वयन के अपने फायदे और नुकसान होते हैं। इसके लिए अलग -अलग XML घटनाओं के लिए मैन्युअल रूप से इवेंट श्रोताओं को संभालने की आवश्यकता होती है, जैसे कि स्टार्ट/एंड एलिमेंट्स और कैरेक्टर डेटा। जबकि यह दृष्टिकोण अधिक लचीलापन प्रदान करता है, यह अधिक वर्बोज़ और दोहराव कोड को जन्म दे सकता है। // XML डेटा संग्रहीत करने के लिए Pojos (सादे पुराने जावा ऑब्जेक्ट्स) को इनिशियलाइज़ करें निजी चैनल चैनल; निजी आइटम आइटम; निजी आइटम आइटम; निजी बूलियन initem = गलत; निजी स्ट्रिंगबिल्डर सामग्री; @Override सार्वजनिक शून्य StartElement (स्ट्रिंग uri, स्ट्रिंग localName, स्ट्रिंग Qname, विशेषताएँ atts) saxexception {फेंकता है { सामग्री = नया स्ट्रिंगबिल्डर (); if (localname.equalsignorecase ("चैनल")) { चैनल = नया चैनल (); } और अगर (localname.equalsignorecase ("आइटम")) { initem = true; आइटम = नया आइटम (); } } // ... शेष घटना श्रोताओं ... … विशिष्ट डेटा पैटर्न को संभालने के लिए इन तत्वों में इवेंट श्रोताओं को जोड़ा जाता है। यह दृष्टिकोण कोड पुनरावृत्ति को कम करता है, लेकिन एक अच्छी तरह से परिभाषित XML संरचना की आवश्यकता होती है। // XML डेटा स्टोर करने के लिए POJOS निजी चैनल चैनल; निजी आइटम आइटम; निजी आइटम आइटम; सार्वजनिक उदाहरण () { आइटम = नई आइटम (); } // तत्व घटनाओं के लिए घटना श्रोताओं को जोड़ें // ... शेष कोड ... }

Which SAX Parser Implementation, `org.xml.sax` or `android.sax`, Is Best for My XML Parsing Needs?

तुलना

android.sax: पुनरावृत्ति

विपक्ष: जटिल XML को संभालने में सीमित लचीलापन संरचनाएं

क्रिया -दोहराव कोड
public class ExampleHandler extends DefaultHandler {

    // Initialize POJOs (Plain Old Java Objects) to store XML data
    private Channel channel;
    private Items items;
    private Item item;
    private boolean inItem = false;

    private StringBuilder content;

    @Override
    public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
        content = new StringBuilder();
        if (localName.equalsIgnoreCase("channel")) {
            channel = new Channel();
        } else if (localName.equalsIgnoreCase("item")) {
            inItem = true;
            item = new Item();
        }
    }

    // ... Remaining event listeners ...
}

निष्कर्ष

public class Example extends DefaultHandler {

    // POJOs to store XML data
    private Channel channel;
    private Items items;
    private Item item;

    public Example() {
        items = new Items();
    }

    // Add event listeners for element events
    // ... Remaining code ...
}
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3