List of usage examples for javax.xml.stream.events XMLEvent writeAsEncodedUnicode
public void writeAsEncodedUnicode(Writer writer) throws javax.xml.stream.XMLStreamException;
From source file:Main.java
public static String toString(XMLEvent event) { final StringWriter writer = new StringWriter(); try {/*from w w w.j a v a2 s . co m*/ event.writeAsEncodedUnicode(writer); } catch (XMLStreamException e) { writer.write(event.toString()); } return writer.toString(); }
From source file:Main.java
public static String getXMLContent(XMLEventReader reader, StartElement element, boolean decodeCharacters) throws XMLStreamException { String rootElementName = getLocalName(element); StringWriter buffer = new StringWriter(1024); StartElement pendingElement = null; String pendingElementName = null; while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (pendingElement != null) { boolean skip = false; if (event.isEndElement() && pendingElementName.equals(getLocalName(event.asEndElement()))) { writeAsEncodedUnicode(pendingElement, buffer, true); // empty tag skip = true; // skip this end tag } else { writeAsEncodedUnicode(pendingElement, buffer, false); }//from ww w . j a va 2 s . co m pendingElement = null; pendingElementName = null; if (skip) continue; } if (event.isEndElement()) { EndElement endElement = event.asEndElement(); String name = getLocalName(endElement); if (rootElementName.equals(name)) return buffer.toString(); writeAsEncodedUnicode(endElement, buffer); } else if (event.isStartElement()) { pendingElement = event.asStartElement(); pendingElementName = getLocalName(pendingElement); } else if (event.isCharacters() && decodeCharacters) { buffer.append(event.asCharacters().getData()); } else { event.writeAsEncodedUnicode(buffer); } } throw new XMLStreamException(format("Missing closing tag for '" + rootElementName + "' element", element)); }
From source file:com.msopentech.odatajclient.testservice.utils.XMLUtilities.java
public static XmlElement getAtomElement(final StartElement start, final XMLEventReader reader) throws Exception { final XmlElement res = new XmlElement(); res.setStart(start);//from w w w . ja v a 2 s . c o m StringWriter content = new StringWriter(); int depth = 1; while (reader.hasNext() && depth > 0) { final XMLEvent event = reader.nextEvent(); if (event.getEventType() == XMLStreamConstants.START_ELEMENT && start.getName().getLocalPart().equals(event.asStartElement().getName().getLocalPart())) { depth++; } else if (event.getEventType() == XMLStreamConstants.END_ELEMENT && start.getName().getLocalPart().equals(event.asEndElement().getName().getLocalPart())) { depth--; } if (depth == 0) { res.setEnd(event.asEndElement()); } else { event.writeAsEncodedUnicode(content); } } content.flush(); content.close(); res.setContent(new ByteArrayInputStream(content.toString().getBytes())); return res; }
From source file:org.apache.olingo.fit.utils.AbstractXMLUtilities.java
public XmlElement getXmlElement(final StartElement start, final XMLEventReader reader) throws Exception { final XmlElement res = new XmlElement(); res.setStart(start);//from www . j a va2 s. co m StringWriter content = new StringWriter(); int depth = 1; while (reader.hasNext() && depth > 0) { final XMLEvent event = reader.nextEvent(); if (event.getEventType() == XMLStreamConstants.START_ELEMENT) { depth++; } else if (event.getEventType() == XMLStreamConstants.END_ELEMENT) { depth--; } if (depth == 0) { res.setEnd(event.asEndElement()); } else { event.writeAsEncodedUnicode(content); } } content.flush(); content.close(); res.setContent(new ByteArrayInputStream(content.toString().getBytes())); return res; }
From source file:org.apache.olingo.fit.utils.XMLUtilities.java
public XMLElement getXmlElement(final StartElement start, final XMLEventReader reader) throws Exception { final XMLElement res = new XMLElement(); res.setStart(start);//from w w w .j a v a2 s . c om final Charset encoding = Charset.forName(org.apache.olingo.commons.api.Constants.UTF8); final ByteArrayOutputStream content = new ByteArrayOutputStream(); final OutputStreamWriter writer = new OutputStreamWriter(content, encoding); int depth = 1; while (reader.hasNext() && depth > 0) { final XMLEvent event = reader.nextEvent(); if (event.getEventType() == XMLStreamConstants.START_ELEMENT) { depth++; } else if (event.getEventType() == XMLStreamConstants.END_ELEMENT) { depth--; } if (depth == 0) { res.setEnd(event.asEndElement()); } else { event.writeAsEncodedUnicode(writer); } } writer.flush(); writer.close(); res.setContent(new ByteArrayInputStream(content.toByteArray())); return res; }
From source file:org.qi4j.valueserialization.stax.StaxValueDeserializer.java
private static String readElementBody(XMLEventReader input) throws XMLStreamException { StringWriter buf = new StringWriter(1024); int depth = 0; while (input.hasNext()) { // peek event XMLEvent xmlEvent = input.peek(); if (xmlEvent.isStartElement()) { ++depth;/* w w w. j a v a2 s . c o m*/ } else if (xmlEvent.isEndElement()) { --depth; // reached END_ELEMENT tag? // break loop, leave event in stream if (depth < 0) { break; } } // consume event xmlEvent = input.nextEvent(); // print out event xmlEvent.writeAsEncodedUnicode(buf); } return buf.getBuffer().toString(); }