Android 从xml 文件中获取资源

story.x<?xml version="1.0" encoding="UTF-8"?>

  1. <story>
  2.     <talks id="t000" >
  3.         <talk name="跳绳小孩">一根绳,两人摇。摇下来,像小船。摇上去,像小桥。你来跳,我来跳,蹦蹦跳跳多可爱。</talk>
  4.         <talk name="跳绳小孩">姐姐,你要不要一起来玩呀!</talk>
  5.         <talk name="赵灵儿">不了,姐姐在找蜀山的入口,不知你们是否知道?</talk>
  6.         <talk name="跳绳小孩" >擂台上的哥哥好像自称是蜀山弟子,也许他会知道。</talk>
  7.     </talks>
  8.     <talks id="t001" >
  9.         <talk name="旺财">汪汪,汪汪……</talk>       
  10.     </talks>
  11.     <talks id="t002" >
  12.         <talk name="算命先生">小姐,我观你颧骨平滑,下巴圆润饱满,正是旺夫之相呀。 等等,眉宇间桃花隐现……哈哈,今日就是你们的相遇之时。</talk>
  13.         <talk name="算命先生">不如把你的生辰八字告诉我,我帮你好好的算算姻缘。</talk>
  14.         <talk name="赵灵儿">不了,我要抓紧时间上蜀山。</talk>
  15.         <talk name="算命先生" >蜀山?锁妖塔倒塌,现在蜀山一片大乱,我劝你还是最好不要上蜀山。</talk>
  16.     </talks>
  17.     <talks id="t003" >
  18.         <talk name="李逍遥">姑娘,您好,在下李逍遥,是名蜀山弟子。</talk>        
  19.         <talk name="李逍遥">听闻村外有些妖怪出没,残害了不少村民,我正欲去制服他们。不知姑娘是否愿意同行?</talk>
  20.         <talk name="赵灵儿">我叫赵灵儿,正想上蜀山,这样吧,我帮你捉妖,你带我上蜀山,如何?</talk>
  21.         <talk name="李逍遥" >好的,那我们一会村外见。</talk>
  22.     </talks>
  23.     <talks id="t004" >
  24.         <talk name="地痞">叫你不好好学Android。</talk>
  25.         <talk name="地痞">叫你不认真敲代码!</talk>
  26.         <talk name="落难书生">女侠救我呀!</talk>        
  27.         <talk name="赵灵儿">不读书,谁也救不了你。</talk>       
  28.     </talks>    
  29. </story>ml



  1. public ArrayList<Talk> getTalksForXML(String fileName, String id) {
  2. ArrayList<Talk> aTalks = new ArrayList<Talk>();
  3. DocumentBuilderFactory aDocumentBuilderFactory = DocumentBuilderFactory
  4. .newInstance();
  5. try {
  6. DocumentBuilder aDocumentBuilder = aDocumentBuilderFactory
  7. .newDocumentBuilder();
  8. Document aDocument = aDocumentBuilder.parse(getAssets().open(
  9. fileName));
  10. Element rootElement = aDocument.getDocumentElement();
  11. NodeList aNodeLists = rootElement.getElementsByTagName("talks");
  12. for (int i = 0; i < aNodeLists.getLength(); i++) {
  13. Element aTalksElement = (Element) aNodeLists.item(i);
  14. if (id.equals(aTalksElement.getAttribute("id"))) {
  15. NodeList aNodeList2 = aTalksElement
  16. .getElementsByTagName("talk");
  17. for (int j = 0; j < aNodeList2.getLength(); j++) {
  18. Element aTalkElement = (Element) aNodeList2.item(j);
  19. Talk aTalk = new Talk(aTalkElement.getTextContent(),
  20. aTalkElement.getAttribute("name"));
  21. aTalks.add(aTalk);
  22. }
  23. }
  24. }
  25. } catch (ParserConfigurationException e) {
  26. e.printStackTrace();
  27. } catch (SAXException e) {
  28. e.printStackTrace();
  29. } catch (IOException e) {
  30. e.printStackTrace();
  31. }
  32. return aTalks;
  33. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值