java命名空间javax.xml.stream接口xmlstreamreader成员方法:
getelementtext定义参考
本文导语:
getelementtext
string getelementtext()
throws xmlstreamexception
读取纯文本元素的内容,如果不是纯文本元素,则抛出异常。无论 javax.xml.stream.iscoalescing 的值如何,此方法始终返回组合的内容。 前置条件:当前事件是 start_...
getelementtext
string getelementtext()
throws xmlstreamexception
- 读取纯文本元素的内容,如果不是纯文本元素,则抛出异常。无论 javax.xml.stream.iscoalescing 的值如何,此方法始终返回组合的内容。
前置条件:当前事件是 start_element。
后置条件:当前事件是相应的 end_element。
此方法执行下列操作(实现可以随意优化,但必须执行等效处理):
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();
- 抛出:
xmlstreamexception
- 如果当前事件不是 start_element 或者遇到了非文本元素