2011-09-22 94 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 
}