2011-09-22 91 views
0

我使用这个XPath表达式搜索多个属性的一个值

String expr = String.format("//a/b/c[@name1='%s']", name); 

我想提出一个Android应用程序,搜索名称的XML文档。我希望它搜索xml中列出的属性name1和name2。由于表达式现在,它搜索名称1,但如果名称不出现,它强制关闭我的应用程序。如果它在那里,它按我的计划工作。我怎样才能让它不仅搜索两个属性值,但如果名称不出现,请确保应用程序不强制关闭?

感谢

好想通的XPath一部分出来,我只是有它搜索所有的值

[@* = '%s'] 

,但任何人都可以帮助我的问题,如果名字没有出现在XML出现?返回响应“的名称是无效”

回答

1

最简单的办法就是围绕一个try-catch块搜索:

try { 
    // Do your search here 
} 
catch (Exception e) { 
    // Handle the situation where the name was not found here 
}