本文整理了Java中javax.xml.stream.XMLStreamReader.next()
方法的一些代码示例,展示了XMLStreamReader.next()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XMLStreamReader.next()
方法的具体详情如下:
包路径:javax.xml.stream.XMLStreamReader
类名称:XMLStreamReader
方法名:next
[英]Get next parsing event - a processor may return all contiguous character data in a single chunk, or it may split it into several chunks. If the property javax.xml.stream.isCoalescing is set to true
element content must be coalesced and only one CHARACTERS event must be returned for contiguous element content or CDATA Sections. By default entity references must be expanded and reported transparently to the application. An exception will be thrown if an entity reference cannot be expanded. If element content is empty (i.e. content is "") then no CHARACTERS event will be reported.
Given the following XML:
<foo><!--description-->content text<![CDATA[<greeting>Hello< /greeting>]]>other content</foo>
The behavior of calling next() when being on foo will be:
1- the comment (COMMENT)
2- then the characters section (CHARACTERS)
3- then the CDATA section (another CHARACTERS)
4- then the next characters section (another CHARACTERS)
5- then the END_ELEMENT
NOTE: empty element (such as <tag/>) will be reported with two separate events: START_ELEMENT, END_ELEMENT - This preserves parsing equivalency of empty element to <tag></tag>.
[中]Get next parsing event(获取下一个解析事件)-处理器可以返回单个块中的所有连续字符数据,也可以将其拆分为多个块。如果属性为javax。xml。流动IsCoalScing设置为true
元素内容必须合并,并且对于连续元素内容或CDATA节,只能返回一个字符事件。默认情况下,实体引用必须以透明的方式展开并报告给应用程序。如果无法展开实体引用,将引发异常。如果元素内容为空(即内容为“”),则不会报告任何字符事件。
给定以下XML:
<foo><--说明-->内容文本<![CDATA[<greeting>你好</greeting>]>其他内容</foo>
在foo上调用next()的行为将是:
1-评论(评论)
2-然后是字符部分(字符)
3-然后是CDATA部分(另一个字符)
4-然后是下一个字符部分(另一个字符)
5-然后是结束元素
注意:空元素(例如<tag/>)将报告两个单独的事件:START_元素、END_元素-这将保留空元素对<tag></tag>的解析等价性。
代码示例来源:origin: spring-projects/spring-framework
private int moveToNextElement(XMLStreamReader streamReader) throws XMLStreamException {
int event = streamReader.getEventType();
while (event != XMLStreamReader.START_ELEMENT && event != XMLStreamReader.END_DOCUMENT) {
event = streamReader.next();
}
return event;
}
代码示例来源:origin: stackoverflow.com
FileInputStream fis = null;
try {
fis = new FileInputStream("test.xml");
XMLInputFactory xmlInFact = XMLInputFactory.newInstance();
XMLStreamReader reader = xmlInFact.createXMLStreamReader(fis);
while(reader.hasNext()) {
reader.next(); // do something here
}
}
catch(IOException exc) {
}
catch(XMLStreamException exc) {
}
代码示例来源:origin: Activiti/Activiti
public static String moveDown(XMLStreamReader xtr) {
try {
while (xtr.hasNext()) {
int event = xtr.next();
switch (event) {
case XMLStreamConstants.END_DOCUMENT:
return null;
case XMLStreamConstants.START_ELEMENT:
return xtr.getLocalName();
case XMLStreamConstants.END_ELEMENT:
return null;
}
}
} catch (Exception e) {
LOGGER.warn("Error while moving down in XML document", e);
}
return null;
}
代码示例来源: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
protected void parseChildElements(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model, BaseChildElementParser parser) throws Exception {
boolean readyWithChildElements = false;
while (!readyWithChildElements && xtr.hasNext()) {
xtr.next();
if (xtr.isStartElement()) {
if (parser.getElementName().equals(xtr.getLocalName())) {
parser.parseChildElement(xtr, parentElement, model);
}
} else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
readyWithChildElements = true;
}
}
}
代码示例来源:origin: org.jdom/jdom
private List<Content> processFragments(JDOMFactory factory, XMLStreamReader stream, StAXFilter filter) throws JDOMException {
int state = stream.getEventType();
while (stream.hasNext() && (state = stream.next()) != END_DOCUMENT) {
switch (state) {
case START_DOCUMENT:
depth++;
while (depth > back && stream.hasNext()) {
state = stream.next();
if (state == START_ELEMENT) {
depth++;
if (filter.includeEntityRef(depth, stream.getLocalName())) {
ret.add(factory.entityRef(stream.getLocalName()));
throw new JDOMException("Unexpected XMLStream event " + stream.getEventType());
代码示例来源:origin: Activiti/Activiti
public static ExtensionElement parseExtensionElement(XMLStreamReader xtr) throws Exception {
ExtensionElement extensionElement = new ExtensionElement();
extensionElement.setName(xtr.getLocalName());
if (StringUtils.isNotEmpty(xtr.getNamespaceURI())) {
extensionElement.setNamespace(xtr.getNamespaceURI());
for (int i = 0; i < xtr.getAttributeCount(); i++) {
ExtensionAttribute extensionAttribute = new ExtensionAttribute();
extensionAttribute.setName(xtr.getAttributeLocalName(i));
extensionAttribute.setValue(xtr.getAttributeValue(i));
if (StringUtils.isNotEmpty(xtr.getAttributeNamespace(i))) {
extensionAttribute.setNamespace(xtr.getAttributeNamespace(i));
while (!readyWithExtensionElement && xtr.hasNext()) {
xtr.next();
if (xtr.isCharacters() || XMLStreamReader.CDATA == xtr.getEventType()) {
if (StringUtils.isNotEmpty(xtr.getText().trim())) {
extensionElement.setElementText(xtr.getText().trim());
} else if (xtr.isStartElement()) {
ExtensionElement childExtensionElement = parseExtensionElement(xtr);
extensionElement.addChildElement(childExtensionElement);
} else if (xtr.isEndElement() && extensionElement.getName().equalsIgnoreCase(xtr.getLocalName())) {
readyWithExtensionElement = true;
代码示例来源:origin: spring-projects/spring-framework
boolean documentEnded = false;
int elementDepth = 0;
int eventType = this.reader.getEventType();
while (true) {
if (eventType != XMLStreamConstants.START_DOCUMENT && eventType != XMLStreamConstants.END_DOCUMENT &&
break;
if (this.reader.hasNext() && elementDepth >= 0) {
eventType = this.reader.next();
代码示例来源:origin: org.jdom/jdom
try {
stream.next();
return emt;
stream.next();
return dt;
stream.next();
return cd;
case CHARACTERS:
Content txt = factory.text(stream.getText());
stream.next();
return txt;
stream.next();
return comment;
Content er = factory.entityRef(stream.getLocalName());
stream.next();
return er;
Content pi = factory.processingInstruction(
stream.getPITarget(), stream.getPIData());
stream.next();
return pi;
代码示例来源:origin: stackoverflow.com
this.clazz = clazz;
this.unmarshaller = JAXBContext.newInstance(clazz).createUnmarshaller();
this.reader = XMLInputFactory.newInstance().createXMLStreamReader(stream);
return reader.hasNext();
int eventType = reader.getEventType();
eventType = reader.next();
代码示例来源:origin: stackoverflow.com
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream in = new FileInputStream("book.xml");
XMLStreamReader streamReader = inputFactory.createXMLStreamReader(in);
while (streamReader.hasNext()) {
if (streamReader.isStartElement()) {
switch (streamReader.getLocalName()) {
case "first": {
System.out.print("First Name : ");
streamReader.next();
代码示例来源:origin: graphhopper/graphhopper
private ReaderElement getNextXML() throws XMLStreamException {
int event = parser.next();
if (fileheader != null) {
ReaderElement copyfileheader = fileheader;
String idStr = parser.getAttributeValue(null, "id");
if (idStr != null) {
String name = parser.getLocalName();
long id = 0;
switch (name.charAt(0)) {
event = parser.next();
代码示例来源:origin: wildfly/wildfly
private void consumeContent(final XMLStreamReader reader) throws XMLStreamException {
while (reader.hasNext()) {
switch (reader.next()) {
case START_ELEMENT: {
consumeContent(reader);
break;
}
case END_ELEMENT: {
return;
}
}
}
}
代码示例来源:origin: com.sun.xml.bind/jaxb-impl
int event = staxStreamReader.getEventType();
if(event == XMLStreamConstants.START_DOCUMENT) {
while( !staxStreamReader.isStartElement() )
event = staxStreamReader.next();
event=staxStreamReader.next();
staxStreamReader.next(); // move beyond the end tag.
代码示例来源:origin: geotools/geotools
Integer next = xml.hasNext() ? xml.next() : null;
while (next != null) {
context.reset();
if (root) {
String ver = xml.getAttributeValue(null, "version");
if (ver != null) {
context.version(ver);
next = xml.hasNext() ? xml.next() : null;
代码示例来源:origin: stackoverflow.com
int event = reader.next();
if(event == XMLStreamConstants.START_ELEMENT) {
level++;
if(reader.getLocalName().equals("FirstName")) {
} else if(reader.getLocalName().equals("LastName")) {
代码示例来源:origin: graphhopper/graphhopper
private void openXMLStream(InputStream in)
throws XMLStreamException {
XMLInputFactory factory = XMLInputFactory.newInstance();
parser = factory.createXMLStreamReader(in, "UTF-8");
int event = parser.next();
if (event != XMLStreamConstants.START_ELEMENT || !parser.getLocalName().equalsIgnoreCase("osm")) {
throw new IllegalArgumentException("File is not a valid OSM stream");
}
// See https://wiki.openstreetmap.org/wiki/PBF_Format#Definition_of_the_OSMHeader_fileblock
String timestamp = parser.getAttributeValue(null, "osmosis_replication_timestamp");
if (timestamp == null)
timestamp = parser.getAttributeValue(null, "timestamp");
if (timestamp != null) {
try {
fileheader = new OSMFileHeader();
fileheader.setTag("timestamp", timestamp);
} catch (Exception ex) {
}
}
eof = false;
}
代码示例来源:origin: javamelody/javamelody
/**
* Scan xml for tag child of the current element
*
* @param reader reader, must be at "start element" @nonnull
* @param tagName name of child tag to find @nonnull
* @return if found tag
* @throws XMLStreamException on error
*/
static boolean scanForChildTag(XMLStreamReader reader, String tagName)
throws XMLStreamException {
assert reader.isStartElement();
int level = -1;
while (reader.hasNext()) {
//keep track of level so we only search children, not descendants
if (reader.isStartElement()) {
level++;
} else if (reader.isEndElement()) {
level--;
}
if (level < 0) {
//end parent tag - no more children
break;
}
reader.next();
if (level == 0 && reader.isStartElement() && reader.getLocalName().equals(tagName)) {
return true; //found
}
}
return false; //got to end of parent element and not found
}
代码示例来源:origin: org.jdom/jdom
throws XMLStreamException, JDOMException {
if (START_ELEMENT != reader.getEventType()) {
throw new JDOMException("JDOM requires that the XMLStreamReader " +
"is at the START_ELEMENT state when retrieving an " +
int depth = topdepth + 1;
String text = null;
while (depth > topdepth && reader.hasNext()) {
switch(reader.next()) {
case START_ELEMENT:
QName qn = reader.getName();
depth++;
int state = 0;
while (depth > edepth && reader.hasNext() &&
(state = reader.next()) != END_DOCUMENT) {
if (state == START_ELEMENT) {
depth++;
if (!filter.pruneEntityRef(depth, reader.getLocalName())) {
current.addContent(factory.entityRef(reader.getLocalName()));
throw new JDOMException("Unexpected XMLStream event " + reader.getEventType());
代码示例来源:origin: org.springframework/spring-core
boolean documentEnded = false;
int elementDepth = 0;
int eventType = this.reader.getEventType();
while (true) {
if (eventType != XMLStreamConstants.START_DOCUMENT && eventType != XMLStreamConstants.END_DOCUMENT &&
break;
if (this.reader.hasNext() && elementDepth >= 0) {
eventType = this.reader.next();
内容来源于网络,如有侵权,请联系作者删除!