javax.xml.stream.XMLEventReader类的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(12.8k)|赞(0)|评价(0)|浏览(108)

本文整理了Java中javax.xml.stream.XMLEventReader类的一些代码示例,展示了XMLEventReader类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLEventReader类的具体详情如下:
包路径:javax.xml.stream.XMLEventReader
类名称:XMLEventReader

XMLEventReader介绍

[英]This is the top level interface for parsing XML Events. It provides the ability to peek at the next event and returns configuration information through the property interface.
[中]这是解析XML事件的顶级接口。它可以查看下一个事件,并通过属性接口返回配置信息。

代码示例

代码示例来源:origin: chewiebug/GCViewer

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();
    }
  }
}

代码示例来源:origin: wiztools/rest-client

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());
      }
    }
  }
}

代码示例来源:origin: aws/aws-sdk-java

/**
 * 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;
}

代码示例来源:origin: apache/nifi

private void skipNextStartTag() throws XMLStreamException {
  while (xmlEventReader.hasNext()) {
    final XMLEvent xmlEvent = xmlEventReader.nextEvent();
    if (xmlEvent.isStartElement()) {
      return;
    }
  }
}

代码示例来源:origin: apache/nifi

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;
}

代码示例来源:origin: apache/nifi

private void skipElement() throws XMLStreamException {
  while(xmlEventReader.hasNext()){
    final XMLEvent xmlEvent = xmlEventReader.nextEvent();
    if (xmlEvent.isStartElement()) {
      skipElement();
    }
    if (xmlEvent.isEndElement()) {
      return;
    }
  }
}

代码示例来源:origin: jamesagnew/hapi-fhir

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;

代码示例来源:origin: apache/nifi

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();

代码示例来源:origin: org.apache.hadoop/hadoop-common

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) {

代码示例来源:origin: membrane/service-proxy

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;
}

代码示例来源:origin: net.sf.okapi.filters/okapi-filter-openxml

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);
          }
        }
      }
    }
  }
}

代码示例来源:origin: hibernate/hibernate-orm

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);

代码示例来源:origin: apache/nifi

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();

代码示例来源:origin: OfficeDev/ews-java-api

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());

代码示例来源:origin: pentaho/pentaho-kettle

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() ) {

代码示例来源:origin: opentripplanner/OpenTripPlanner

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();

代码示例来源:origin: org.apache.olingo/odata-server-core

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();
}

代码示例来源:origin: net.sf.okapi.filters/okapi-filter-idml

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;
}

代码示例来源:origin: org.apache.poi/poi

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);

代码示例来源:origin: chewiebug/GCViewer

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);

相关文章