Содержание
- 2. XML парсеры
- 3. SAX парсер (Simple API for XML)
- 4. SAX API
- 5. Использование SAX // Инстанциирование Reader XMLReader reader = new org.apache.xerces.parsers.SAXParser( ); // Старт парсинг reader.parse(uri); XMLReader
- 6. SAX – XMLReader интерфейс
- 7. SAX – ContentHandler
- 8. SAX события public void setDocumentLocator(Locator locator) { // Save this for later use this.locator = locator;
- 9. SAX события public void startPrefixMapping(String prefix, String uri) { // No visual events occur here. namespaceMappings.put(uri,
- 10. SAX события public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException public void
- 11. SAX события public void characters(char[] ch, int start, int length) throws SAXException{ //Не правильно for (int
- 12. SAX парсинг // Создаем экземпляр для парсинга XMLReader reader = XMLReaderFactory.createXMLReader( ); //Создаем ContentHandler ContentHandler myHandler
- 13. SAX - ErrorHandler class MyHandler implements ContentHandler, ErrorHandler
- 14. SAX – ErrorHandler события public void warning(SAXParseException exception) throws SAXException { try { FileWriter fw =
- 15. SAX – ErrorHandler события public void error(SAXParseException exception) throws SAXException public void fatalError(SAXParseException exception) throws SAXException
- 16. DOM модель text text
- 17. Структура DOM
- 18. DOM парсинг import org.apache.xerces.parsers.DOMParser; … public void test(OutputStream outputStream) throws Exception { DOMParser parser = new
- 19. DOM - типы элементов // Determine action based on node type switch (node.getNodeType( )) { case
- 20. Создание XML документа Создание DOM дерева DOMImplementation domImpl = new DOMImplementationImpl( ); Document doc = domImpl.createDocument(null,
- 21. DOM - изменение XML Изменение содержания элемента NodeList nameElements = root.getElementsByTagName("name"); Element nameElement = (Element)nameElements.item(0); Text
- 22. DOM Serialization Задаем формат DOM OutputFormat format = new OutputFormat(doc); Создаем Writer и Serializer StringWriter stringOut
- 23. Использование Xerces (1) Xerces: DOM parser import org.w3c.dom.Document; import org.apache.xerces.parsers.DOMParser; import org.w3c.dom.Document; String filename; ... DOMParser
- 24. Java Abstraction Layer for XML Processing (JAXP) XML Parsing and Validation XSL Processing XPath
- 25. XML парсинг с помощью JAXP
- 26. Использование JAXP (1) JAXP: DOM parser import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; String filename; ... DocumentBuilderFactory
- 27. StAX (Streaming API for XML) Работа с документом во время парсинга как в SAX. Приложение руководит
- 28. StAX – создание XmlStreamReader StringReader stringReader = new StringReader(documentAsString); XMLInputFactory inputFactory = XMLInputFactory.newInstance( ); XmlStreamReader reader
- 29. StAX - XmlStreamReader интерфейс
- 30. StAX - Разбор документа while (reader.hasNext( )) { int type = reader.next( ); switch (type) {
- 31. StAX – создание документа import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamWriter; public class SimpleStreamOutput { public static void main(String[]
- 32. JDOM Java представление XML модели. Не является парсером. Основан на классах. Имеет поддержку Xpath. Поддерживает XSLT
- 33. JDOM
- 34. JDOM Создание JDOM модели из SAX events и DOM модели SAXBuilder builder = new SAXBuilder( );
- 35. dom4j Java представление XML модели Не является парсером Часть API похожа с JDOM Основан на интерфейсах
- 36. dom4j Чтение документа File file = new File(path); SAXReader reader = new SAXReader( ); Document doc
- 38. Скачать презентацию