javax.xml.stream.XMLStreamReader.getElementText()方法的使用及代码示例

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

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

XMLStreamReader.getElementText介绍

[英]Reads the content of a text-only element, an exception is thrown if this is not a text-only element. Regardless of value of javax.xml.stream.isCoalescing this method always returns coalesced content.
Precondition: the current event is START_ELEMENT.
Postcondition: the current event is the corresponding END_ELEMENT.
The method does the following (implementations are free to optimize but must do equivalent processing):

if(getEventType() != XMLStreamConstants.START_ELEMENT) { 
throw new XMLStreamException( 
"parser must be on START_ELEMENT to read next text",  
getLocation()); 
} 
int eventType = next(); 
StringBuffer content = new StringBuffer(); 
while(eventType != XMLStreamConstants.END_ELEMENT ) { 
if(eventType == XMLStreamConstants.CHARACTERS 
|| eventType == XMLStreamConstants.CDATA 
|| eventType == XMLStreamConstants.SPACE 
|| eventType == XMLStreamConstants.ENTITY_REFERENCE) { 
buf.append(getText()); 
} else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION 
|| eventType == XMLStreamConstants.COMMENT) { 
// skipping 
} else if(eventType == XMLStreamConstants.END_DOCUMENT) { 
throw new XMLStreamException( 
"unexpected end of document when reading element text content", 
this); 
} else if(eventType == XMLStreamConstants.START_ELEMENT) { 
throw new XMLStreamException( 
"element text content may not contain START_ELEMENT",  
getLocation()); 
} else { 
throw new XMLStreamException( 
"Unexpected event type "+eventType, getLocation()); 
} 
eventType = next(); 
} 
return buf.toString();

[中]读取纯文本元素的内容,如果该元素不是纯文本元素,则引发异常。不管javax的价值如何。xml。流动IsCoalScing此方法始终返回合并的内容。
前提条件:当前事件是START_元素。
后置条件:当前事件是对应的END_元素。
该方法执行以下操作(实现可以自由优化,但必须进行等效处理):

if(getEventType() != XMLStreamConstants.START_ELEMENT) { 
throw new XMLStreamException( 
"parser must be on START_ELEMENT to read next text",  
getLocation()); 
} 
int eventType = next(); 
StringBuffer content = new StringBuffer(); 
while(eventType != XMLStreamConstants.END_ELEMENT ) { 
if(eventType == XMLStreamConstants.CHARACTERS 
|| eventType == XMLStreamConstants.CDATA 
|| eventType == XMLStreamConstants.SPACE 
|| eventType == XMLStreamConstants.ENTITY_REFERENCE) { 
buf.append(getText()); 
} else if(eventType == XMLStreamConstants.PROCESSING_INSTRUCTION 
|| eventType == XMLStreamConstants.COMMENT) { 
// skipping 
} else if(eventType == XMLStreamConstants.END_DOCUMENT) { 
throw new XMLStreamException( 
"unexpected end of document when reading element text content", 
this); 
} else if(eventType == XMLStreamConstants.START_ELEMENT) { 
throw new XMLStreamException( 
"element text content may not contain START_ELEMENT",  
getLocation()); 
} else { 
throw new XMLStreamException( 
"Unexpected event type "+eventType, getLocation()); 
} 
eventType = next(); 
} 
return buf.toString();

代码示例

代码示例来源:origin: kiegroup/jbpm

private String getJndiNameFromPersistenceXml() throws XMLStreamException {
    XMLInputFactory factory = XMLInputFactory.newInstance();
    InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("META-INF/persistence.xml");
    XMLStreamReader reader = factory.createXMLStreamReader(is);
    while (reader.hasNext()) {
      int event = reader.next();
      if (event == XMLStreamConstants.START_ELEMENT && "jta-data-source".equals(reader.getLocalName())) {
        return reader.getElementText();
      }
    }
    return null;

  }
}

代码示例来源:origin: Activiti/Activiti

public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception {
  if (!(parentElement instanceof TimerEventDefinition))
   return;

  TimerEventDefinition eventDefinition = (TimerEventDefinition) parentElement;

  if (StringUtils.isNotEmpty(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_END_DATE))) {
   eventDefinition.setEndDate(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_END_DATE));
  }
  eventDefinition.setTimeCycle(xtr.getElementText());
 }
}

代码示例来源:origin: stackoverflow.com

int event = reader.next();
if(event == XMLStreamConstants.START_ELEMENT) {
  level++;
  if(reader.getLocalName().equals("FirstName")) {
    String text = reader.getElementText()
    if(text.length() > 0) {
      myObject.setName(text)
  } else if(reader.getLocalName().equals("LastName")) {

代码示例来源:origin: geotools/geotools

@Override
public void element(XMLStreamReader xml, SldTransformContext context)
    throws XMLStreamException, IOException {
  String name = xml.getLocalName();
  if ("Geometry".equals(name)) {
    context.scalar("geometry").push(new ExpressionHandler());
  } else if ("VendorOption".equals(name)) {
    String option = xml.getAttributeValue(null, "name");
    options.put(option, xml.getElementText());
  }
}

代码示例来源:origin: wildfly/wildfly

@Override
protected void processElement(final EJBBoundClusteringMetaData metaData, final XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException {
  if (this.schema.getNamespaceUri().equals(reader.getNamespaceURI())) {
    switch (reader.getLocalName()) {
      case "clustered": {
        if (this.schema.since(ClusteringSchema.VERSION_1_1)) {
        reader.getElementText();
        break;

代码示例来源:origin: org.apache.cxf/cxf-core

public String getElementText() throws XMLStreamException {
  String ret = reader.getElementText();
  //workaround bugs in some readers that aren't properly advancing to
  //the END_ELEMENT (*cough*jettison*cough*)
  while (reader.getEventType() != XMLStreamConstants.END_ELEMENT) {
    reader.next();
  }
  depth--;
  return ret;
}

代码示例来源:origin: stackoverflow.com

package forum11871952;

import java.io.FileReader;
import java.util.*;
import javax.xml.stream.*;

public class Demo {

  public static void main(String[] args) throws Exception {
    XMLInputFactory xif = XMLInputFactory.newFactory();
    XMLStreamReader xsr = xif.createXMLStreamReader(new FileReader("src/forum11871952/input.xml"));
    xsr.nextTag(); // advance to Employees tag
    xsr.nextTag(); // advance to first Employer element
    Map<String,String> map = new HashMap<String,String>();
    while(xsr.getLocalName().equals("Employee")) {
      map.put(xsr.getAttributeValue("", "id"), xsr.getElementText());
      xsr.nextTag(); // advance to next Employer element
    }
  }

}

代码示例来源:origin: javaee/glassfish

String name = in.getLocalName();
ConfigModel.Property a = model.elements.get(name);
} else
if(a.isLeaf()) {
  children.add(new Dom.LeafChild(name,in.getElementText()));
} else {
  Dom child = handleElement(in, document, dom, ((ConfigModel.Node) a).model);

代码示例来源:origin: Activiti/Activiti

try {
 while (!readyWithDataAssociation && xtr.hasNext()) {
  xtr.next();
  if (xtr.isStartElement() && ELEMENT_SOURCE_REF.equals(xtr.getLocalName())) {
   String sourceRef = xtr.getElementText();
   if (StringUtils.isNotEmpty(sourceRef)) {
    dataAssociation.setSourceRef(sourceRef.trim());
  } else if (xtr.isStartElement() && ELEMENT_TARGET_REF.equals(xtr.getLocalName())) {
   String targetRef = xtr.getElementText();
   if (StringUtils.isNotEmpty(targetRef)) {
    dataAssociation.setTargetRef(targetRef.trim());
  } else if (xtr.isStartElement() && ELEMENT_TRANSFORMATION.equals(xtr.getLocalName())) {
   String transformation = xtr.getElementText();
   if (StringUtils.isNotEmpty(transformation)) {
    dataAssociation.setTransformation(transformation.trim());
  } else if (xtr.isStartElement() && ELEMENT_FROM.equals(xtr.getLocalName())) {
   String from = xtr.getElementText();
   if (assignment != null && StringUtils.isNotEmpty(from)) {
    assignment.setFrom(from.trim());
  } else if (xtr.isStartElement() && ELEMENT_TO.equals(xtr.getLocalName())) {
   String to = xtr.getElementText();
   if (assignment != null && StringUtils.isNotEmpty(to)) {
    assignment.setTo(to.trim());

代码示例来源:origin: Activiti/Activiti

@Override
 public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception {
  if (!(parentElement instanceof Activity))
   return;

  String errorCode = xtr.getAttributeValue(null, MAP_EXCEPTION_ERRORCODE);
  String andChildren = xtr.getAttributeValue(null, MAP_EXCEPTION_ANDCHILDREN);
  String exceptionClass = xtr.getElementText();
  boolean hasChildrenBool = false;

  if (StringUtils.isEmpty(andChildren) || andChildren.toLowerCase().equals("false")) {
   hasChildrenBool = false;
  } else if (andChildren.toLowerCase().equals("true")) {
   hasChildrenBool = true;
  } else {
   throw new XMLException("'" + andChildren + "' is not valid boolean in mapException with errorCode=" + errorCode + " and class=" + exceptionClass);
  }
  
  if (StringUtils.isEmpty(errorCode) || StringUtils.isEmpty(errorCode.trim())) {
   throw new XMLException("No errorCode defined mapException with errorCode=" + errorCode + " and class=" + exceptionClass);
  }

  ((Activity) parentElement).getMapExceptions().add(new MapExceptionEntry(errorCode, exceptionClass, hasChildrenBool));
 }
}

代码示例来源:origin: ahmetaa/zemberek-nlp

XMLStreamReader staxXmlReader = XMLInputFactory.newInstance().createXMLStreamReader(is);
List<String> line = Lists.newArrayList();
for (int event = staxXmlReader.next(); event != XMLStreamConstants.END_DOCUMENT;
  event = staxXmlReader.next()) {
 switch (event) {
  case XMLStreamConstants.START_ELEMENT:
   String elName = staxXmlReader.getLocalName();
   if (elName.equals("s")) {
    String sentence = Joiner.on(" ").join(line)
    line.add(staxXmlReader.getElementText().trim());

代码示例来源:origin: geotools/geotools

@Override
public void element(XMLStreamReader xml, SldTransformContext context)
    throws XMLStreamException, IOException {
  String name = xml.getLocalName();
  if ("ExternalGraphic".equals(name)) {
    context.mapping().scalar("external").mapping();
  } else if ("OnlineResource".equals(name)) {
    context.scalar("url").scalar(xml.getAttributeValue(null, "href"));
  } else if ("Format".equals(name)) {
    context.scalar("format").scalar(xml.getElementText());
  }
}

代码示例来源:origin: geotools/geotools

@Override
public void element(XMLStreamReader xml, SldTransformContext context)
    throws XMLStreamException, IOException {
  String name = xml.getLocalName();
  if ("ShadedRelief".equals(name)) {
    context.mapping();
  } else if ("BrightnessOnly".equals(name)) {
    context.scalar("brightness-only").scalar(xml.getElementText());
  } else if ("ReliefFactor".equals(name)) {
    context.scalar("relief-factory").scalar(xml.getElementText());
  }
}

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

public String getElementText() throws XMLStreamException {
  String ret = reader.getElementText();
  //workaround bugs in some readers that aren't properly advancing to
  //the END_ELEMENT (*cough*jettison*cough*)
  while (reader.getEventType() != XMLStreamConstants.END_ELEMENT) {
    reader.next();
  }
  depth--;
  return ret;
}

代码示例来源:origin: Activiti/Activiti

extension.setFieldName(xtr.getAttributeValue(null, ATTRIBUTE_FIELD_NAME));
if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_FIELD_STRING))) {
 extension.setStringValue(xtr.getAttributeValue(null, ATTRIBUTE_FIELD_STRING));
} else if (StringUtils.isNotEmpty(xtr.getAttributeValue(null, ATTRIBUTE_FIELD_EXPRESSION))) {
 boolean readyWithFieldExtension = false;
 try {
  while (readyWithFieldExtension == false && xtr.hasNext()) {
   xtr.next();
   if (xtr.isStartElement() && ELEMENT_FIELD_STRING.equalsIgnoreCase(xtr.getLocalName())) {
    extension.setStringValue(xtr.getElementText().trim());
   } else if (xtr.isStartElement() && ATTRIBUTE_FIELD_EXPRESSION.equalsIgnoreCase(xtr.getLocalName())) {
    extension.setExpression(xtr.getElementText().trim());
   } else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
    readyWithFieldExtension = true;

代码示例来源:origin: wildfly/wildfly

private void parseCredential(final XMLStreamReader streamReader, CredentialParseFunction function) throws RealmUnavailableException, XMLStreamException {
  final int attributeCount = streamReader.getAttributeCount();
  String name = null;
  String algorithm = null;
  String format = null;
  for (int i = 0; i < attributeCount; i ++) {
    String namespace = streamReader.getAttributeNamespace(i);
    if (namespace != null && !namespace.equals("")) {
      throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), name);
    }
    final String localName = streamReader.getAttributeLocalName(i);
    if ("name".equals(localName)) {
      name = streamReader.getAttributeValue(i);
    } else if ("algorithm".equals(localName)) {
      algorithm = streamReader.getAttributeValue(i);
    } else if ("format".equals(localName)) {
      format = streamReader.getAttributeValue(i);
    } else {
      throw ElytronMessages.log.fileSystemRealmInvalidContent(path, streamReader.getLocation().getLineNumber(), name);
    }
  }
  final String text = streamReader.getElementText().trim();
  function.parseCredential(algorithm, format, text);
}

代码示例来源:origin: org.openscience.cdk/cdk-io

public String getSID(XMLStreamReader parser) throws Exception {
  String sid = "unknown";
  while (parser.next() != XMLEvent.END_DOCUMENT) {
    if (parser.getEventType() == XMLEvent.END_ELEMENT) {
      if (EL_PCSUBSTANCE_SID.equals(parser.getLocalName())) {
        break; // done parsing the atom block
      }
    } else if (parser.getEventType() == XMLEvent.START_ELEMENT) {
      if (EL_PCID_ID.equals(parser.getLocalName())) {
        sid = parser.getElementText();
      }
    }
  }
  return sid;
}

代码示例来源:origin: org.jboss.ironjacamar.jdk8/ironjacamar-common-impl

private LocalizedXsdString elementAsLocalizedXsdString(XMLStreamReader reader) throws XMLStreamException
{
 String id = reader.getAttributeValue(null, "id");
 String lang = reader.getAttributeValue(null, "lang");
 return new LocalizedXsdString(reader.getElementText().trim(), id, lang, reader.getLocalName());
}

代码示例来源:origin: geotools/geotools

@Override
public void element(XMLStreamReader xml, SldTransformContext context)
    throws XMLStreamException, IOException {
  String name = xml.getLocalName();
  if (name.endsWith("Channel")) {
    context.mapping();
  } else if ("SourceChannelName".equals(name)) {
    context.scalar("source").scalar(xml.getElementText());
  } else if ("ContrastEnhancement".equals(name)) {
    context.scalar("contrast-enhancement").push(new ContrastEnhancementHandler());
  }
}

代码示例来源:origin: org.apache.cxf/cxf-api

public String getElementText() throws XMLStreamException {
  String ret = reader.getElementText();
  //workaround bugs in some readers that aren't properly advancing to 
  //the END_ELEMENT (*cough*jettison*cough*)
  while (reader.getEventType() != XMLStreamReader.END_ELEMENT) {
    reader.next();
  }
  depth--;
  return ret;
}

相关文章

微信公众号

最新文章

更多