到目前为止,我一直在使用此代码来解析xml。它在以前的android版本中运行良好(直到2.3.3)。
NodeList list = element.getElementsByTagName("course");
Element entry;
Element title;
if(list != null && list.getLength() > 0){
for(int i=0;i < list.getLength(); i++){
entry = (Element)list.item(i);
title = (Element)entry.getElementsByTagName("course").item(0);
biz_name_p = title.getAttribute("biz_name");
}
}
我有多个标签名为&#34;当然&#34;所以我把它放在一个清单中。内部循环我正在检查元素过程并从中提取几个字符串值。
当我尝试NullPointerException
或任何其他属性时,它会抛出getAttribute("biz_name")
。
这在以前的版本中工作正常,直到ICS ......
当我替换&#34;当然&#34;在列表中使用主标记(在整个xml中只重复一次), 我收到字符串值但只有一次......他们是否改变了Dom解析器中的任何东西?
修改
以下是我试图解析的xml ..
<golf>
<course biz_name="Club Circle Golf Course"/>
<course biz_name="Club Circle Golf Course1"/>
<course biz_name="Club Circle Golf Course2"/>
</golf>
答案 0 :(得分:0)
我不明白为什么多次调用getElementsByTagName
。所以你可以试试这个:
NodeList list = element.getElementsByTagName("course");
Element entry;
if(list != null && list.getLength() > 0){
for(int i=0;i < list.getLength(); i++){
entry = (Element)list.item(i);
biz_name_p = entry.getAttribute("biz_name");
}
}