Example usage for javax.xml.stream.events Characters isIgnorableWhiteSpace

List of usage examples for javax.xml.stream.events Characters isIgnorableWhiteSpace

Introduction

In this page you can find the example usage for javax.xml.stream.events Characters isIgnorableWhiteSpace.

Prototype

public boolean isIgnorableWhiteSpace();

Source Link

Document

Return true if this is ignorableWhiteSpace.

Usage

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*/
}