0
我有一個XML文件,它讀起來就像SAXParser的拼接概率
<Event Id="258" Key="123456">
<SubEvent Id="1">
Microsoft will begin selling its "Kinect" full-body motion-sensing game system from November 4, while Sony launched its "Move" motion-controlled gaming system on September 15.
</SubEvent>
</Event>
部分的解析器處理程序
public void startElement(String uri, String localName,String qName,
Attributes atts) throws SAXException {
if (qName.equalsIgnoreCase("event")) {
scored = false;
event = true;
if (//my condition){
scored = true;
}
if (scored){
sb= new StringBuffer();
}
}
public void characters(char ch[], int start, int length) throws SAXException {
if (event) {
event = false;
}
if (subevent) {
if (scored){
sb.append(new String(ch, start, length));
}
subevent = false;
}
}
,但是這僅返回「微軟將開始銷售其」
我讀解析器可能會執行多個字符調用。 如何將不同的呼叫連接在一起?你能解釋一下邏輯流程嗎?
附加信息: 我做了一個打印所有的元素,看來其餘的句子沒有被調用,爲什麼?
Start Element :Event
Start Element :SubEvent
SubEvent:
Microsoft will begin selling its
End Element :SubEvent
End Element :Event
Start Element :Event
Start Element :SubEvent
SubEvent:
Nintendo will sell a new version of its DS handheld device that can play games and show movies in 3D without glasses sometime before March 2011.
End Element :SubEvent
End Element :Event
請參閱我的其他信息。薩克斯並不打印線的其他部分,但是立即跳轉到下一個事件 – Jean