XML parsers
Am citit zilele trecute despre parsere XML. Despre unele dintre ele.
Multi te intreaba la interviu ce parser de XML ai folosit… (dupa ce i-ai spus, evident, c-ai lucrat cu XML-uri).
SAX este un Serial Access Parser API pentru XML. Este alternativa unui alt parser oferit de Microsoft DOM – Document Object Model.
Avantaje SAX versus DOM:
- memoria folosita este mai mica, pentru ca DOM-ul are nevoie de intregul tree in memorie
- SAX-ul poate parsa documente XML aflate in System File
Parsere XML si API care suporta SAX:
* Xerces
* MSXML
* Crimson XML
* JAXP: Java API for XML Processing
* LibXML
Intre SAX si DOM, recomand SAX pentru ca ocupa mult mai putina memorie si nici nu trebuie sa ai cunostiinte de XPath.
E important sa auziti si sa folositi XSLT care este un XML Stylesheet Language Transformation. Se pot face chestii dragute cu el, adica se pot personaliza in browser aspectul fisierelor XML cu ajutorul HTML-ului.
Pentru cei care lucreaza cu Java si DOM sunt librariile:
- dom.jar
- jaxp api.jar
- javax.xml.parsers
- org.w3c.dom
Pentru Java si SAX (JAXP):
- sax.jar
- api.jar
- javax.xml.parsers
- org.xml.sax
- org.xml.sax.helpers
Si un exemplu mic: Crearea unui parser (exemplu in java folosind SAX)
//Pas 1
SAXParserFactory spf = SAXParserFactory.newInstance();
//Pas 2
SAXParser saxParser = spf.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
//Pas 3
xmlReader.setContentHandler(new MyEventHandler());
//Pas 4
xmlReader.parse(new File(numeFisierXML).toURL().toString());
// sau
InputSource source = new InputSource(numeFisierXML);
xmlFilter.parse(source);
Pe aceeasi tema:





