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

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

Introduction

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

Prototype

public Characters asCharacters();

Source Link

Document

Returns this event as Characters, may result in a class cast exception if this event is not Characters.

Usage

From source file:StaxEvent.java

public static void main(String[] args) throws Exception {
    StaxEvent ms = new StaxEvent();

    XMLEventReader reader = XMLInputFactory.newInstance()
            .createXMLEventReader(new java.io.FileInputStream("yourXML.xml"));
    XMLEventWriter writer = XMLOutputFactory.newInstance().createXMLEventWriter(System.out);

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

        if (event.getEventType() == event.CHARACTERS) {
            writer.add(ms.getNewCharactersEvent(event.asCharacters()));
        } else {//  www .  java 2 s .  c  o  m
            writer.add(event);
        }
    }
    writer.flush();
}

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

/**
 * @param args//from w  w  w .j a  va 2s  .c o  m
 */
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 va2  s  . 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:Main.java

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

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  ww  w.ja v a2  s  .c  o 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: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());
        }//from ww  w. j  a v  a  2s  .co  m

    }

    return Optional.empty();
}

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

private static String readString(XMLEvent event) {
    if (event.isCharacters()) {
        return event.asCharacters().getData();
    }/*from www  .j av  a 2  s .  c o  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 {//from w  ww .  j a v  a2s .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 Result parseHdrLatencyProbeResult(XMLEventReader reader) throws XMLStreamException {
    String encodedData = null;//w w  w.ja  va2  s.  c  o  m
    while (reader.hasNext()) {
        XMLEvent xmlEvent = reader.nextEvent();
        if (xmlEvent.isCharacters()) {
            encodedData = xmlEvent.asCharacters().getData();
        } else if (xmlEvent.isEndElement()) {
            EndElement endElement = xmlEvent.asEndElement();
            if (!HDR_LATENCY_DATA.matches(endElement.getName().getLocalPart()) || encodedData == null) {
                throw new XMLStreamException("Unexpected end element " + endElement.getName());
            }
            try {
                byte[] bytes = Base64.decodeBase64(encodedData);
                Histogram histogram = Histogram.decodeFromCompressedByteBuffer(ByteBuffer.wrap(bytes), 0);
                return new HdrLatencyDistributionResult(histogram);
            } catch (DataFormatException e) {
                throw new RuntimeException(e);
            }
        }
    }
    throw new XMLStreamException("Unexpected end of stream");
}

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

private static Result parseMaxLatencyResult(XMLEventReader reader) throws XMLStreamException {
    Long maxLatency = null;/*from  w w  w  .  j  av  a 2s. c  om*/
    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");
}