手机的SD卡根目录下有一个XML文件对其进行解析,以搜索关键字。
本来在电脑上对XML文件进行解析,比如搜索关键词“火线”,就会出来“爆火线”。
现在android下面出了问题,如下所示,只能执行到“爆火线444”的地方,下面一步没有执行,但是也不报错。求指导这一步为什么会出问题,应该怎么改,没什么分了,多谢各位。
函数如下:
public static void mySearch(String searchStr) {
// System.out.println("您搜索的关键词是:"+searchStr);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = dbf.newDocumentBuilder();
text1.setText("爆火线222");
File file = new File(downFile);
text1.setText("爆火线333");
InputStream is = new FileInputStream(file);
text1.setText("爆火线444");
Document doc = builder.parse(is);
text1.setText("爆火线555");
//解析root节点
Element root = doc.getDocumentElement();
if(root==null) return;
text1.setText("爆火线666");
// 解析entry
NodeList firstNodes = root.getElementsByTagName("entry");
if (firstNodes == null) return;
for(int i=0;i<firstNodes.getLength(); i++){
Element ele = (Element) firstNodes.item(i);
String videoTitle=ele.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
if(videoTitle.contains(searchStr)){ //比较title和搜索关键字的包含关系
// System.out.println("\t" + videoTitle);
// text1.setText(videoTitle);
searchNum++;
}else{
}
}
// System.out.println("共计"+searchNum+"个节目匹配");
} catch (Exception e) {
e.printStackTrace();
}
}
AndroidDOM
本来在电脑上对XML文件进行解析,比如搜索关键词“火线”,就会出来“爆火线”。
现在android下面出了问题,如下所示,只能执行到“爆火线444”的地方,下面一步没有执行,但是也不报错。求指导这一步为什么会出问题,应该怎么改,没什么分了,多谢各位。
函数如下:
public static void mySearch(String searchStr) {
// System.out.println("您搜索的关键词是:"+searchStr);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = dbf.newDocumentBuilder();
text1.setText("爆火线222");
File file = new File(downFile);
text1.setText("爆火线333");
InputStream is = new FileInputStream(file);
text1.setText("爆火线444");
Document doc = builder.parse(is);
text1.setText("爆火线555");
//解析root节点
Element root = doc.getDocumentElement();
if(root==null) return;
text1.setText("爆火线666");
// 解析entry
NodeList firstNodes = root.getElementsByTagName("entry");
if (firstNodes == null) return;
for(int i=0;i<firstNodes.getLength(); i++){
Element ele = (Element) firstNodes.item(i);
String videoTitle=ele.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
if(videoTitle.contains(searchStr)){ //比较title和搜索关键字的包含关系
// System.out.println("\t" + videoTitle);
// text1.setText(videoTitle);
searchNum++;
}else{
}
}
// System.out.println("共计"+searchNum+"个节目匹配");
} catch (Exception e) {
e.printStackTrace();
}
}
AndroidDOM
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货