2012-10-08 108 views
-2

可能重复使用多个节点来解析XML数据:
How to parse xml using different parent nodes in android如何在安卓

我正在在我所解析的XML数据的应用程序,我已经提出, ,但我在我的xml文件中只使用单个节点,但现在我想在我的xml文件中添加一个节点,即两个节点中的属性都是相同的,并且我正在使用此代码,所以请让我知道在同一个程序中添加节点需要进行哪些更改,因为我想每次都需要用户会点击列表视图项节点行则仅涉及到应该在接下来的活动中显示的数据,反之亦然: -

// XML node keys 
static final String KEY_SONG = "song"; // parent node 
static final String KEY_ID = "id"; 
static final String KEY_TITLE = "title"; 
static final String KEY_ARTIST = "artist"; 
static final String KEY_DURATION = "duration"; 
static final String KEY_THUMB_URL = "thumb_url"; 
+0

我们应该如何知道解析器的外观如何?你使用什么样的解析器?拉 - SAX或DOM解析器? – Ahmad

+0

看到这个链接:http://www.androidhive。info/2011/11/android-xml-parsing-tutorial /(类似于这个链接),但也想在xml文件中添加视频节点 – user1350766

+0

我使用的是dom解析器,看到这个链接:http://www.androidhive .info/2012/02/android-custom-listview-with-image-and-text /在java类中需要做什么更改 – user1350766

回答

0

在XML文件中添加一个标签

<video>YOUR CONTENT HERE</video> 

下每

<title> 

标记。如果您使用的是androidhive.com的xml文件,则需要下载它,然后使用Notepad ++之类的程序对其进行修改,然后将其上传到服务器上,如保存在收存箱中的公用文件夹,或FTP服务器,甚至是计算机上的本地主机。


变化Java类

  • 添加KEY_VIDEO下其他字符串变量(KEY_ARTIST,KEY_TITLE等)
  • 添加map.put(KEY_VIDEO,parser.getValue(E,KEY_VIDEO ));

*如果你要求它显示在列表视图中打开懒惰适配器和补充一点:

  • TextView的视频=(TextView的)vi.findViewById(R.id.video); < -----您需要在布局中添加带有此ID的文本视图(R.layout.listrow)
  • video.setText(song.get(CustomizedListView.KEY_VIDEO));

编辑

我误会了,无视上述

如果要添加其他

<video> 

标签像

<music> 

标签所有你需要做的就是改变这一行。

NodeList nl = doc.getElementsByTagName(KEY_VIDEO); 
+0

我需要在java类中做什么更改,因为我仍在使用这些代码行: - static final String KEY_SONG =“song”; //父节点 static final String KEY_ID =“id”; static final String KEY_TITLE =“title”;但我也想添加视频节点具有类似的属性,如歌曲... – user1350766

+0

如果这是正确的答案标记为正确的,以便其他用户具有相同的问题可以找到帮助 – SquiresSquire

+0

感谢帮助,有用,但我想在一个java类中使用多个节点,那么我怎样才能在java类中编写所有代码呢,我想是这样的: - // parent node song static final String KEY_SONG =“song”; //父节点视频 static final String KEY_SONG =“videos”; static final String KEY_ID =“id”; static final String KEY_TITLE =“title”;和NodeList nl = doc.getElementsByTagName(KEY_SONG); NodeList nl = doc.getElementsByTagName(KEY_VIDEOS); 请让我知道我做错了还是正确的,再次感谢 – user1350766