2014-10-03 47 views
0

有沒有辦法使用edittext解析和搜索位於資產文件夾中的XML,然後返回包含搜索/查詢詞的節點?使用edittext返回包含查詢詞的xml節點在xml中

E.g.我的XML文件是這樣的:

是book.xml

<?xml version="1.0"?>  
    <books> 
     <chapter number="1"> 
     <verse number="1">Some texts are here. This text is gonna be long paragraph</verse> 
     <verse number="2">Some texts are here. This text is gonna be long paragraph</verse> 
     <verse number ="3">Some texts are here. This text is gonna be long paragraph</verse> 
     <verse number="4">Some texts are here. This text is gonna be long paragraph</verse> 
</chapter>   
</books> 

我想要做的是,我擁有資產的文件夾,我想分析併爲XML文件中的搜索中的XML文件使用EditText的特定單詞/單詞。每當我在EditText中輸入特定單詞時,我都希望該單詞在XML中被解析,然後返回包含該單詞的整個節點。這可能嗎?任何人都可以建議我這樣做,而不使用數據庫。

我希望我在這裏有道理。

我很抱歉,如果這個問題是重複或類似的問題已經問過,但我會很感激,如果任何人都可以告訴我如何。在此先感謝

回答

0

正如我理解你的問題,XML查找與EditText無關。您需要在xml文件中快速查找。我建議使用XMLBeam 這是一個單元測試工作,假設你的books.xml是由類裝載器(就在旁邊TestNodeContains.java)可達:

import java.io.IOException; 
import org.junit.Test; 
import org.xmlbeam.XBProjector; 
import org.xmlbeam.annotation.XBDocURL; 
import org.xmlbeam.annotation.XBRead; 

public class TestNodeContains { 

@XBDocURL("resource://book.xml") 
public interface Books { 

    @XBRead("//verse[contains(text(),'{0}')]") 
    String lookup(String string); 

} 

@Test 
public void testXpathContains() throws IOException { 
    Books books = new XBProjector().io().fromURLAnnotation(Books.class); 
    System.out.println(books.lookup("word")); 

} 
} 
+0

感謝您的建議。我一定會研究XMLBeam,但必須先弄清楚如何使用它。 – Maktaduai 2014-10-03 15:00:00