Example usage for javax.xml.stream.events XMLEvent isCharacters

List of usage examples for javax.xml.stream.events XMLEvent isCharacters

Introduction

In this page you can find the example usage for javax.xml.stream.events XMLEvent isCharacters.

Prototype

public boolean isCharacters();

Source Link

Document

A utility function to check if this event is Characters.

Usage

From source file:org.eclipse.swordfish.core.configuration.xml.SaxParsingPrototype.java

/**
 * @param args/*from  w w w  .  ja va2 s  .c om*/
 */
public static void main(String[] args) throws Exception {
    XMLInputFactory inputFactory = XMLInputFactory.newInstance();
    LinkedList<String> currentElements = new LinkedList<String>();
    InputStream in = SaxParsingPrototype.class.getResource("ComplexPidXmlProperties.xml").openStream();
    XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
    Map<String, List<String>> props = new HashMap<String, List<String>>();
    // Read the XML document
    while (eventReader.hasNext()) {
        XMLEvent event = eventReader.nextEvent();
        if (event.isCharacters() && !event.asCharacters().isWhiteSpace()) {
            putElement(props, getQualifiedName(currentElements), event.asCharacters().getData());

        } else if (event.isStartElement()) {
            System.out.println(event.asStartElement().getName());
            currentElements.add(event.asStartElement().getName().getLocalPart());
            for (Iterator attrIt = event.asStartElement().getAttributes(); attrIt.hasNext();) {
                Attribute attribute = (Attribute) attrIt.next();
                putElement(props, getQualifiedName(currentElements) + "[@" + attribute.getName() + "]",
                        attribute.getValue());

            }
        } else if (event.isAttribute()) {
        } else if (event.isEndElement()) {
            String lastElem = event.asEndElement().getName().getLocalPart();
            if (!currentElements.getLast().equals(lastElem)) {
                throw new UnsupportedOperationException(lastElem + "," + currentElements.getLast());
            }
            currentElements.removeLast();
        }
    }

    eventReader.close();
}

From source file:Main.java

public static void main(String args[]) throws Exception {
    XMLInputFactory xmlif = XMLInputFactory.newInstance();
    XMLEventReader xmler = xmlif.createXMLEventReader(new FileReader("yourFile.xml"));
    XMLEvent event;
    while (xmler.hasNext()) {
        event = xmler.nextEvent();//  w  w w .  j a v  a 2s. c o  m
        if (event.isStartElement()) {
            System.out.println(event.asStartElement().getName());
        } else if (event.isCharacters()) {
            System.out.println(event.asCharacters().getData());
        }
    }
}

From source file:XMLEventReaderDemo.java

public static void main(String[] args) throws Exception {
    XMLInputFactory factory = XMLInputFactory.newInstance();
    Reader fileReader = new FileReader("Source.xml");
    XMLEventReader reader = factory.createXMLEventReader(fileReader);

    while (reader.hasNext()) {
        XMLEvent event = reader.nextEvent();
        if (event.isStartElement()) {
            StartElement element = (StartElement) event;
            System.out.println("Start Element: " + element.getName());

            Iterator iterator = element.getAttributes();
            while (iterator.hasNext()) {
                Attribute attribute = (Attribute) iterator.next();
                QName name = attribute.getName();
                String value = attribute.getValue();
                System.out.println("Attribute name/value: " + name + "/" + value);
            }/*from   ww  w .  j av  a 2s.c  o m*/
        }
        if (event.isEndElement()) {
            EndElement element = (EndElement) event;
            System.out.println("End element:" + element.getName());
        }
        if (event.isCharacters()) {
            Characters characters = (Characters) event;
            System.out.println("Text: " + characters.getData());
        }
    }
}

From source file:Main.java

public static boolean isWhitespace(XMLEvent e) {
    if (e.isCharacters() && e.asCharacters().isWhiteSpace()) {
        return true;
    }/*from  w  ww . j  a v a2 s . co  m*/
    return false;
}

From source file:Main.java

public static Optional<Characters> getCharacterEventOfElement(List<XMLEvent> events, String elementName) {
    Iterator<XMLEvent> iterator = events.iterator();

    while (iterator.hasNext()) {
        XMLEvent event = iterator.next();

        if (event.isStartElement() && event.asStartElement().getName().getLocalPart().equals(elementName)) {
            XMLEvent nextEvent = iterator.next();
            if (nextEvent.isCharacters())
                return Optional.of(nextEvent.asCharacters());
        }/*ww  w .  j a va  2 s.  c  om*/

    }

    return Optional.empty();
}

From source file:Main.java

/**
 * Get the content of this tag, assuming it's just characters with no other
 * tags beneath it. Something like &lt;tag&gt;This is my content&lt;/tag&gt;
 * will return "This is my content". If there's anything but regular 
 * characters, an exception will be thrown. It also checks the end tag
 * for you. //from   w ww.j a  v  a  2  s.  co m
 * @param start The start tag
 * @param xml
 * @return The string content of this tag.
 * @throws XMLStreamException at runtime
 */
public static String getStringContent(XMLEvent start, XMLEventReader xml) {
    String ret = "";
    XMLEvent e = nextEvent(xml);
    while (e.isCharacters()) {
        ret += e.asCharacters().getData();
        e = nextEvent(xml);
    }
    // Make sure we actually got to the end tag, not something else
    assertEnd(localNameOf(start), e);
    return ret;
}

From source file:jenkins.plugins.livingdoc.XmlReportReader.java

private static String readString(XMLEvent event) {
    if (event.isCharacters()) {
        return event.asCharacters().getData();
    }/*w  ww .  j  a  v  a2s.co  m*/
    throw new IllegalArgumentException("XMLEvent is not a Characters");
}

From source file:com.predic8.membrane.core.interceptor.rest.XML2HTTP.java

private static String slurpCharacterData(XMLEventReader parser, StartElement sevent)
        throws XMLStreamException, XML2HTTPException {
    String name = sevent.getName().getLocalPart();
    StringBuilder value = new StringBuilder();
    while (parser.hasNext()) {
        XMLEvent event = parser.nextEvent();
        if (event.isCharacters()) {
            value.append(event.asCharacters().getData());
        } else if (event.isEndElement()) {
            break;
        } else {/* ww  w. jav  a2  s.  c o  m*/
            throw new XML2HTTPException("XML-HTTP doc <" + name + "> element contains non-character data.");
        }
    }
    return value.toString();
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static String parseCharsAndEndCurrentElement(XMLEventReader reader) throws XMLStreamException {
    XMLEvent xmlEvent = reader.nextEvent();
    if (!xmlEvent.isCharacters()) {
        throw new XMLStreamException("Unexpected event " + xmlEvent);
    }/* ww  w .jav  a  2 s  . co  m*/
    String data = xmlEvent.asCharacters().getData();
    while (reader.hasNext()) {
        xmlEvent = reader.nextEvent();
        if (xmlEvent.isEndElement()) {
            return data;
        }
    }
    throw new XMLStreamException("Unexpected end of the document");
}

From source file:com.hazelcast.simulator.probes.probes.ProbesResultXmlReader.java

private static Result parseMaxLatencyResult(XMLEventReader reader) throws XMLStreamException {
    Long maxLatency = null;/*from   ww  w  .  ja va  2s  .  co m*/
    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isCharacters()) {
            maxLatency = Long.parseLong(xmlEvent.asCharacters().getData());
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (!MAX_LATENCY.matches(endElement.getName().getLocalPart())) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            if (maxLatency == null) {
                throw new XMLStreamException("Unexpected end element " + MAX_LATENCY.getName());
            }
            return new MaxLatencyResult(maxLatency);
        }
    }
    throw new XMLStreamException("Unexpected end of stream");
}