private void handleInitialized(XMLEventReader eventReader) throws XMLStreamException { String currentElementName = ""; while (eventReader.hasNext() && !currentElementName.equals(INITIALIZED)) { XMLEvent event = eventReader.nextEvent(); if (event.isStartElement()) { StartElement startElement = event.asStartElement(); if (startElement.getName().getLocalPart().equals("attribute")) { String name = getAttributeValue(startElement, "name"); if (name != null && name.equals("gcPolicy")) { getLogger().info("gcPolicy = " + getAttributeValue(startElement, "value")); } } } else if (event.isEndElement()) { EndElement endElement = event.asEndElement(); currentElementName = endElement.getName().getLocalPart(); } } }
public static String getDocumentCharset(final File f) throws IOException, XMLException { XMLEventReader reader = null; try { // using stax to get xml factory objects and read the input file XMLInputFactory inputFactory = XMLInputFactory.newInstance(); reader = inputFactory.createXMLEventReader(new FileInputStream(f)); XMLEvent event = reader.nextEvent(); // Always the first element is StartDocument // even if the XML does not have explicit declaration: StartDocument document = (StartDocument) event; return document.getCharacterEncodingScheme(); } catch (XMLStreamException ex) { throw new XMLException(ex.getMessage(), ex); } finally{ if(reader != null){ try{ reader.close(); } catch(XMLStreamException ex){ LOG.warning(ex.getMessage()); } } } }
/** * 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 void skipNextStartTag() throws XMLStreamException { while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { return; } } }
private void setNextRecordStartTag() throws XMLStreamException { while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { final StartElement startElement = xmlEvent.asStartElement(); currentRecordStartTag = startElement; return; } } currentRecordStartTag = null; }
private void skipElement() throws XMLStreamException { while(xmlEventReader.hasNext()){ final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { skipElement(); } if (xmlEvent.isEndElement()) { return; } } }
List<String> heldComments = new ArrayList<String>(1); while (streamReader.hasNext()) { XMLEvent nextEvent = streamReader.nextEvent(); try { switch (nextEvent.getEventType()) { case XMLStreamConstants.START_ELEMENT: { StartElement elem = nextEvent.asStartElement(); String namespaceURI = elem.getName().getNamespaceURI(); Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { getErrorHandler().missingRequiredElement(new ParseLocation().setParentElementName("modifierExtension"), "url"); url = null; parserState.string(nextEvent.asCharacters().getData()); break;
private Object parseUnknownField(StartElement startElement, boolean dropUnknown, RecordSchema schema) throws XMLStreamException { final Iterator iterator = startElement.getAttributes(); while (iterator.hasNext()) { final Attribute attribute = (Attribute) iterator.next(); final String attributeName = attribute.getName().toString(); final Optional<RecordField> field = schema.getField(attributeName); if (field.isPresent()){ recordValues.put(attributePrefix == null ? attributeName : attributePrefix + attributeName, attribute.getValue()); recordValues.put(attributePrefix == null ? attributeName : attributePrefix + attributeName, attribute.getValue()); while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) { content.append(characters.getData()); } else if (xmlEvent.isStartElement()){ final StartElement subStartElement = xmlEvent.asStartElement(); final String subFieldName = subStartElement.getName().getLocalPart();
private static List<NodeInfo> parseConf(InputStream in) throws XMLStreamException { QName configuration = new QName("configuration"); QName property = new QName("property"); XMLEventReader reader = factory.createXMLEventReader(in); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event.isStartElement()) { StartElement currentElement = event.asStartElement(); NodeInfo currentNode = new NodeInfo(currentElement); if (parsed.isEmpty()) { if (!currentElement.getName().equals(configuration)) { return null; QName parentName = parentNode.getStartElement().getName(); if (parentName.equals(configuration) && currentNode.getStartElement().getName().equals(property)) { @SuppressWarnings("unchecked") Iterator<Attribute> it = currentElement.getAttributes(); } else if (event.isEndElement()) { NodeInfo node = parsed.pop(); if (parsed.size() == 1) {
public static List<String> getXSDs(String wsdl) throws XMLStreamException { List<String> result = new ArrayList<String>(); XMLEventReader parser; synchronized(xmlInputFactory) { parser = xmlInputFactory.createXMLEventReader(new StringReader(wsdl)); } while (parser.hasNext()) { XMLEvent event = parser.nextEvent(); if (event.isStartElement()) { String name = event.asStartElement().getName().getLocalPart(); if (name.equals("import") || name.equals("include")) { Attribute a = event.asStartElement().getAttributeByName(new QName("schemaLocation")); if (a != null) result.add(a.getValue()); } } } return result; }
public void parseFromXML(Reader reader) throws XMLStreamException { XMLEventReader eventReader = factory.createXMLEventReader(reader); while (eventReader.hasNext()) { XMLEvent e = eventReader.nextEvent(); if (e.isStartElement()) { StartElement el = e.asStartElement(); if (el.getName().equals(SLIDE_ID)) { Attribute id = el.getAttributeByName(Relationships.ATTR_REL_ID); if (id != null) { Relationships.Rel rel = rels.getRelById(id.getValue()); if (rel == null) { throw new IllegalStateException( "Presentation refers to non-existent slide ID " + id.getValue()); } slidePartNames.add(rel.target); } } } } } }
event = super.getParent().nextEvent(); if (event.isStartElement()) { final StartElement startElement = event.asStartElement(); prunedElements.push(startElement.getName()); else if (event.isEndElement()) { final QName startElementName = prunedElements.pop(); final EndElement endElement = event.asEndElement(); final QName endElementName = endElement.getName(); if (!startElementName.equals(endElementName)) { throw new IllegalArgumentException("Malformed XMLEvent stream. Expected end element for " + startElementName + " but found end element for " + endElementName); if (filteredEvent == null && event.isStartElement()) { final StartElement startElement = event.asStartElement(); final QName name = startElement.getName(); prunedElements.push(name);
while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) { content.append(characters.getData()); } else if (xmlEvent.isEndElement()) { final String contentToReturn = content.toString(); final Map<String,Object> embeddedMap = new HashMap<>(); while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { final StartElement subStartElement = xmlEvent.asStartElement(); final String subFieldName = subStartElement.getName().getLocalPart();
while (xmlEventReader.hasNext()) { XMLEvent xmleve = (XMLEvent) xmlEventReader.next(); if (xmleve.getEventType() == XmlNodeType.END_ELEMENT) { Node node = currentElement.getParentNode(); if (node instanceof Document) { if (xmleve.getEventType() == XmlNodeType.START_ELEMENT) { element = document.createElementNS(ele.getName() .getNamespaceURI(), ele.getName().getLocalPart()); Iterator<Attribute> ite = ele.getAttributes(); element.setAttribute(attr.getName().getLocalPart(), attr.getValue());
XMLEvent e = null; try { e = data.xmlEventReader.nextEvent(); } catch ( XMLStreamException ex ) { throw new KettleException( ex ); int eventType = e.getEventType(); if ( data.pos_xml_data_type_numeric != -1 ) { outputRowData[data.pos_xml_data_type_numeric] = new Long( eventType ); outputRowData[data.pos_xml_location_line] = new Long( e.getLocation().getLineNumber() ); outputRowData[data.pos_xml_location_column] = new Long( e.getLocation().getColumnNumber() ); String prefix = e.asStartElement().getName().getPrefix(); if ( Utils.isEmpty( prefix ) ) { xml_data_name = e.asStartElement().getName().getLocalPart(); } else { // add namespace prefix: xml_data_name = prefix + ":" + e.asStartElement().getName().getLocalPart(); outputRowData[data.pos_xml_data_name] = data.elementName[data.elementLevel]; String xml_data_value = e.asCharacters().getData(); if ( data.pos_xml_data_value >= 0 ) { if ( meta.isEnableTrim() ) {
OSMWay osmWay = null; while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { StartElement element = xmlEvent.asStartElement(); if (phase == 3 && element.getName().equals(qNode)) { osmNode = new OSMNode(); osmNode.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); osmNode.lat = Double.parseDouble(element.getAttributeByName(qLat).getValue()); osmNode.lon = Double.parseDouble(element.getAttributeByName(qLon).getValue()); } else if (phase == 2 && element.getName().equals(qWay)) { osmWay = new OSMWay(); osmWay.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); } else if (phase == 1 && element.getName().equals(qRelation)) { osmRelation = new OSMRelation(); osmRelation.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); xmlEventReader.close();
private String entityRef(final XMLEventReader reader, final StartElement start) throws XMLStreamException { boolean foundEndElement = false; final Attribute entityRefId = start.getAttributeByName(Constants.QNAME_ATOM_ATTR_ID); while (reader.hasNext() && !foundEndElement) { final XMLEvent event = reader.nextEvent(); if (event.isEndElement() && start.getName().equals(event.asEndElement().getName())) { foundEndElement = true; } } return entityRefId.getValue(); }
private List<StoryChildElement> parseFromElementRange(StartElement startElement, StyleDefinitions styleDefinitions) throws XMLStreamException { List<StoryChildElement> storyChildElements = new ArrayList<>(); while (eventReader.hasNext()) { XMLEvent event = eventReader.nextTag(); if (event.isEndElement() && startElement.getName().equals(event.asEndElement().getName())) { break; } if (!event.isStartElement()) { throw new IllegalStateException(UNEXPECTED_STRUCTURE); } storyChildElements.addAll(new StoryChildElementsParser(event.asStartElement(), parameters, eventFactory, eventReader).parseWithStyleDefinitions(styleDefinitions)); } return storyChildElements; }
XMLEventReader staxFiltRd = staxFactory.createFilteredReader(staxReader, startElementFilter); staxFiltRd.nextEvent(); while (staxFiltRd.peek() != null) { StartElement evRoot = (StartElement)staxFiltRd.peek(); String cusName = evRoot.getName().getLocalPart(); staxFiltRd.close(); staxReader.close(); } catch (Exception e) { throw new RuntimeException("Unable to load preset geometries.", e);
GCEvent currentGcEvent = null; String eventNameStart = null; while (eventReader.hasNext()) { try { XMLEvent event = eventReader.nextEvent(); if (event.isStartElement()) { StartElement startElement = event.asStartElement(); switch (startElement.getName().getLocalPart()) { case VERBOSEGC: handleVerboseGC(startElement);