@Override public String getText() { if (this.event.isCharacters()) { return this.event.asCharacters().getData(); } else if (this.event.getEventType() == XMLEvent.COMMENT) { return ((Comment) this.event).getText(); } else { throw new IllegalStateException(); } }
@Override public String getElementText() throws XMLStreamException { checkIfClosed(); if (this.currentEvent == null || !this.currentEvent.isStartElement()) { throw new XMLStreamException("Not at START_ELEMENT: " + this.currentEvent); } StringBuilder builder = new StringBuilder(); while (true) { XMLEvent event = nextEvent(); if (event.isEndElement()) { break; } else if (!event.isCharacters()) { throw new XMLStreamException("Unexpected non-text event: " + event); } Characters characters = event.asCharacters(); if (!characters.isIgnorableWhiteSpace()) { builder.append(event.asCharacters().getData()); } } return builder.toString(); }
@Override public String getText() { if (this.event.isCharacters()) { return this.event.asCharacters().getData(); } else if (this.event.getEventType() == XMLEvent.COMMENT) { return ((Comment) this.event).getText(); } else { throw new IllegalStateException(); } }
@Override public String getElementText() throws XMLStreamException { checkIfClosed(); if (this.currentEvent == null || !this.currentEvent.isStartElement()) { throw new XMLStreamException("Not at START_ELEMENT: " + this.currentEvent); } StringBuilder builder = new StringBuilder(); while (true) { XMLEvent event = nextEvent(); if (event.isEndElement()) { break; } else if (!event.isCharacters()) { throw new XMLStreamException("Unexpected non-text event: " + event); } Characters characters = event.asCharacters(); if (!characters.isIgnorableWhiteSpace()) { builder.append(event.asCharacters().getData()); } } return builder.toString(); }
private static void assertCharacters(XMLEvent event, String expectedData) { assertTrue(event.isCharacters()); assertEquals(expectedData, event.asCharacters().getData()); }
/** * Returns the next XML event for the document being parsed. * * @return The next XML event for the document being parsed. * * @throws XMLStreamException */ public XMLEvent nextEvent() throws XMLStreamException { if (attributeIterator != null && attributeIterator.hasNext()) { currentEvent = (XMLEvent)attributeIterator.next(); } else { currentEvent = eventReader.nextEvent(); } if (currentEvent.isStartElement()) { attributeIterator = currentEvent.asStartElement().getAttributes(); } updateContext(currentEvent); if (eventReader.hasNext()) { XMLEvent nextEvent = eventReader.peek(); if (nextEvent != null && nextEvent.isCharacters()) { for (MetadataExpression metadataExpression : metadataExpressions) { if (testExpression(metadataExpression.expression, metadataExpression.targetDepth)) { metadata.put(metadataExpression.key, nextEvent.asCharacters().getData()); } } } } return currentEvent; }
private static void assertCharacters(XMLEvent event, String expectedData) { assertTrue(event.isCharacters()); assertEquals(expectedData, event.asCharacters().getData()); }
@Override public final XMLEvent nextTag() throws XMLStreamException { XMLEvent event = this.nextEvent(); while ((event.isCharacters() && event.asCharacters().isWhiteSpace()) || event.isProcessingInstruction() || event.getEventType() == XMLStreamConstants.COMMENT) { event = this.nextEvent(); } if (!event.isStartElement() && event.isEndElement()) { throw new XMLStreamException("Unexpected event type '" + XMLStreamConstantsUtils.getEventName(event.getEventType()) + "' encountered. Found event: " + event, event.getLocation()); } return event; } }
nodes.add(node); } else if (event.isCharacters()) { if (2 < parsed.size()) { NodeInfo parentNode = parsed.pop();
@Override public final XMLEvent nextTag() throws XMLStreamException { XMLEvent event = this.nextEvent(); while ((event.isCharacters() && event.asCharacters().isWhiteSpace()) || event.isProcessingInstruction() || event.getEventType() == XMLStreamConstants.COMMENT) { event = this.nextEvent(); } if (!event.isStartElement() && event.isEndElement()) { throw new XMLStreamException("Unexpected event type '" + XMLStreamConstantsUtils.getEventName(event.getEventType()) + "' encountered. Found event: " + event, event.getLocation()); } return event; } }
if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) {
if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) {
} else if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) {
public String getText() { if (event.isCharacters()) { return event.asCharacters().getData(); } else if (event.getEventType() == XMLEvent.COMMENT) { return ((Comment) event).getText(); } else { throw new IllegalStateException(); } }
private RelationshipType getRelationshipType(XMLEventReader reader) throws XMLStreamException { if (this.labels) { XMLEvent peek = reader.peek(); if (peek.isCharacters() && !(peek.asCharacters().isWhiteSpace())) { String value = peek.asCharacters().getData(); String el = ":"; String typeRel = value.contains(el) ? value.replace(el, StringUtils.EMPTY) : value; return RelationshipType.withName(typeRel.trim()); } else { reader.nextEvent(); return getRelationshipType(reader); } } return defaultRelType; }
private XMLEvent peek(XMLEventReader reader) throws XMLStreamException { XMLEvent peek = reader.peek(); if (peek.isCharacters() && (peek.asCharacters().isWhiteSpace())) { reader.nextEvent(); return peek(reader); } return peek; }
/** * Constructs a DOM4J Text or CDATA section from the provided event stream. * The stream must be positioned before a {@link Characters}event. * * @param reader * The event stream from which to read the Text or CDATA. * * @return The Text or CDATA that was read from the stream. * * @throws XMLStreamException * If an error occured reading events from the stream, or the * stream was not positioned before a {@link Characters}event. */ public CharacterData readCharacters(XMLEventReader reader) throws XMLStreamException { XMLEvent event = reader.peek(); if (event.isCharacters()) { Characters characters = reader.nextEvent().asCharacters(); return createCharacterData(characters); } else { throw new XMLStreamException("Expected Characters event, found: " + event); } }
/** * Returns the next XML event for the document being parsed. * * @return The next XML event for the document being parsed. * * @throws XMLStreamException */ public XMLEvent nextEvent() throws XMLStreamException { if (attributeIterator != null && attributeIterator.hasNext()) { currentEvent = (XMLEvent)attributeIterator.next(); } else { currentEvent = eventReader.nextEvent(); } if (currentEvent.isStartElement()) { attributeIterator = currentEvent.asStartElement().getAttributes(); } updateContext(currentEvent); if (eventReader.hasNext()) { XMLEvent nextEvent = eventReader.peek(); if (nextEvent != null && nextEvent.isCharacters()) { for (MetadataExpression metadataExpression : metadataExpressions) { if (testExpression(metadataExpression.expression, metadataExpression.targetDepth)) { metadata.put(metadataExpression.key, nextEvent.asCharacters().getData()); } } } } return currentEvent; }
/** * Encode a set of StAX events into a String */ public static String encode(List<XMLEvent> theEvents) { try { StringWriter w = new StringWriter(); XMLEventWriter ew = XmlUtil.createXmlFragmentWriter(w); for (XMLEvent next : theEvents) { if (next.isCharacters()) { ew.add(next); } else { ew.add(next); } } ew.close(); return w.toString(); } catch (XMLStreamException e) { throw new DataFormatException("Problem with the contained XML events", e); } catch (FactoryConfigurationError e) { throw new ConfigurationException(e); } }
/** * Tries to read value. * * @param value the value * @return boolean * @throws XMLStreamException the XML stream exception * @throws ServiceXmlDeserializationException the service xml deserialization exception */ public boolean tryReadValue(OutParam<String> value) throws XMLStreamException, ServiceXmlDeserializationException { if (!this.isEmptyElement()) { this.read(); if (this.presentEvent.isCharacters()) { value.setParam(this.readValue()); return true; } else { return false; } } else { return false; } }