【发布时间】:2014-10-19 14:43:25
【问题描述】:
当我尝试解析简单的 xml 文件时,我的 Sax 解析器正在做奇怪的事情,
这是我的 xml 文件,
<?xml version="1.0"?>
<organization>
<employee>
<title>Harry0</title>
<link>Smith0</link>
<date>hs0</date>
<salary>200000-0</salary>
</employee>
<employee>
<title>Harry1</title>
<link>Smith1</link>
<date>hs1</date>
<salary>300000-1</salary>
</employee>
<employee>
<title>Harry2</title>
<link>Smith2</link>
<date>hs2</date>
<salary>300000-2</salary>
</employee>
</organization>
现在如果我只想读取 title 元素,
String elementValue = null;
String localName = null;
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
this.localName = localName;
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
elementValue = new String(ch, start, length);
if (localName.equals("title")){
Log.e(localName,elementValue);
}
}
输出是,
10-19 14:41:02.261: E/title(7754): Harry0
10-19 14:41:02.261: E/title(7754):
10-19 14:41:02.281: E/title(7754): Harry1
10-19 14:41:02.297: E/title(7754):
10-19 14:41:02.297: E/title(7754): Harry2
10-19 14:41:02.297: E/title(7754):
空行和标题行的标签名称相同,即title
为什么 Sax Parser 会返回所有内容两次?
【问题讨论】: