List of usage examples for javax.xml.stream.events Characters isIgnorableWhiteSpace
public boolean isIgnorableWhiteSpace();
From source file:StAXEventTreeViewer.java
public void buildTree(DefaultTreeModel treeModel, DefaultMutableTreeNode current, File file) throws XMLStreamException, FileNotFoundException { XMLInputFactory inputFactory = XMLInputFactory.newInstance(); XMLEventReader reader = inputFactory.createXMLEventReader(new FileInputStream(file)); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); switch (event.getEventType()) { case XMLStreamConstants.START_DOCUMENT: StartDocument startDocument = (StartDocument) event; DefaultMutableTreeNode version = new DefaultMutableTreeNode(startDocument.getVersion()); current.add(version);/*from www .j a v a2s .c om*/ current.add(new DefaultMutableTreeNode(startDocument.isStandalone())); current.add(new DefaultMutableTreeNode(startDocument.standaloneSet())); current.add(new DefaultMutableTreeNode(startDocument.encodingSet())); current.add(new DefaultMutableTreeNode(startDocument.getCharacterEncodingScheme())); break; case XMLStreamConstants.START_ELEMENT: StartElement startElement = (StartElement) event; QName elementName = startElement.getName(); DefaultMutableTreeNode element = new DefaultMutableTreeNode(elementName.getLocalPart()); current.add(element); current = element; if (!elementName.getNamespaceURI().equals("")) { String prefix = elementName.getPrefix(); if (prefix.equals("")) { prefix = "[None]"; } DefaultMutableTreeNode namespace = new DefaultMutableTreeNode( "prefix=" + prefix + ",URI=" + elementName.getNamespaceURI()); current.add(namespace); } for (Iterator it = startElement.getAttributes(); it.hasNext();) { Attribute attr = (Attribute) it.next(); DefaultMutableTreeNode attribute = new DefaultMutableTreeNode("Attribute (name=" + attr.getName().getLocalPart() + ",value=" + attr.getValue() + "')"); String attURI = attr.getName().getNamespaceURI(); if (!attURI.equals("")) { String attPrefix = attr.getName().getPrefix(); if (attPrefix.equals("")) { attPrefix = "[None]"; } attribute.add(new DefaultMutableTreeNode("prefix = " + attPrefix + ", URI = " + attURI)); } current.add(attribute); } break; case XMLStreamConstants.END_ELEMENT: current = (DefaultMutableTreeNode) current.getParent(); break; case XMLStreamConstants.CHARACTERS: Characters characters = (Characters) event; if (!characters.isIgnorableWhiteSpace() && !characters.isWhiteSpace()) { String data = characters.getData(); if (data.length() != 0) { current.add(new DefaultMutableTreeNode(characters.getData())); } } break; case XMLStreamConstants.DTD: DTD dtde = (DTD) event; current.add(new DefaultMutableTreeNode(dtde.getDocumentTypeDeclaration())); default: System.out.println(event.getClass().getName()); } } }
From source file:microsoft.exchange.webservices.data.core.EwsXmlReader.java
/** * Reads the specified node type./* www. ja v a 2s. c o m*/ * * @param keepWhiteSpace Do not remove whitespace characters if true * @throws ServiceXmlDeserializationException the service xml deserialization exception * @throws XMLStreamException the XML stream exception */ private void read(boolean keepWhiteSpace) throws ServiceXmlDeserializationException, XMLStreamException { // The caller to EwsXmlReader.Read expects // that there's another node to // read. Throw an exception if not true. while (true) { if (!xmlReader.hasNext()) { throw new ServiceXmlDeserializationException("Unexpected end of XML document."); } else { XMLEvent event = xmlReader.nextEvent(); if (event.getEventType() == XMLStreamConstants.CHARACTERS) { Characters characters = (Characters) event; if (!keepWhiteSpace) if (characters.isIgnorableWhiteSpace() || characters.isWhiteSpace()) { continue; } } this.prevEvent = this.presentEvent; this.presentEvent = event; break; } } }
From source file:microsoft.exchange.webservices.data.core.EwsXmlReader.java
/** * Reads the value. Should return content element or text node as string * Present event must be START ELEMENT. After executing this function * Present event will be set on END ELEMENT * * @param keepWhiteSpace Do not remove whitespace characters if true * @return String/*from w ww . ja v a 2 s . co m*/ * @throws XMLStreamException the XML stream exception * @throws ServiceXmlDeserializationException the service xml deserialization exception */ public String readValue(boolean keepWhiteSpace) throws XMLStreamException, ServiceXmlDeserializationException { if (this.presentEvent.isStartElement()) { // Go to next event and check for Characters event this.read(keepWhiteSpace); if (this.presentEvent.isCharacters()) { final StringBuilder elementValue = new StringBuilder(); do { if (this.getNodeType().nodeType == XmlNodeType.CHARACTERS) { Characters characters = (Characters) this.presentEvent; if (keepWhiteSpace || (!characters.isIgnorableWhiteSpace() && !characters.isWhiteSpace())) { final String charactersData = characters.getData(); if (charactersData != null && !charactersData.isEmpty()) { elementValue.append(charactersData); } } } this.read(); } while (!this.presentEvent.isEndElement()); // Characters chars = this.presentEvent.asCharacters(); // String elementValue = chars.getData(); // Advance to next event post Characters (ideally it will be End // Element) // this.read(); return elementValue.toString(); } else if (this.presentEvent.isEndElement()) { return ""; } else { throw new ServiceXmlDeserializationException( getReadValueErrMsg("Could not find " + XmlNodeType.getString(XmlNodeType.CHARACTERS))); } } else if (this.presentEvent.getEventType() == XmlNodeType.CHARACTERS && this.presentEvent.isCharacters()) { /* * if(this.presentEvent.asCharacters().getData().equals("<")) { */ final String charData = this.presentEvent.asCharacters().getData(); final StringBuilder data = new StringBuilder(charData == null ? "" : charData); do { this.read(keepWhiteSpace); if (this.getNodeType().nodeType == XmlNodeType.CHARACTERS) { Characters characters = (Characters) this.presentEvent; if (keepWhiteSpace || (!characters.isIgnorableWhiteSpace() && !characters.isWhiteSpace())) { final String charactersData = characters.getData(); if (charactersData != null && !charactersData.isEmpty()) { data.append(charactersData); } } } } while (!this.presentEvent.isEndElement()); return data.toString();// this.presentEvent. = new XMLEvent(); /* * } else { Characters chars = this.presentEvent.asCharacters(); * String elementValue = chars.getData(); // Advance to next event * post Characters (ideally it will be End // Element) this.read(); * return elementValue; } */ } else { throw new ServiceXmlDeserializationException( getReadValueErrMsg("Expected is " + XmlNodeType.getString(XmlNodeType.START_ELEMENT))); } }
From source file:org.slc.sli.ingestion.parser.impl.EdfiRecordParserImpl.java
private void parseCharacters(Characters characters) { if (!characters.isIgnorableWhiteSpace() && !characters.isWhiteSpace()) { String text = characters.getData(); Object convertedValue = typeProvider.convertType(complexTypeStack.peek().getLeft().getType(), text); complexTypeStack.peek().getRight().put("_value", convertedValue); }/*from w w w . j a v a 2s . c om*/ }