java - 获取单个xml文档上的更多属性值

标签 java android xml-parsing hashmap xmlnodelist

如何读取单个文档上的更多属性值。

这是 xml 示例 xml 文件:

<Categories>
 <Category name="Title 1"
 <SubCategory>
  <subcategory title="subtitle 1"  id="1" ></subcategory>
  <subcategory title="subtitle 2"  id="2" ></subcategory>
  <subcategory title="subtitle 3"  id="3" ></subcategory>
  </SubCategory>
   </Category>
    <Category>
     <Category name="Title 2"
 <SubCategory>
  <subcategory title="subtitle 4"  id="4" ></subcategory>
  <subcategory title="subtitle 5"  id="5" ></subcategory>
  <subcategory title="subtitle 6"  id="6" ></subcategory>
  </SubCategory>
  </Category>
   </Categories>

这里我必须显示类别名称和子类别标题。我使用了下面的代码,我必须运行该应用程序,这意味着我得到了类别名称,但我没有得到子类别标题名称..我怎样才能得到子类别标题名称...请给我任何想法..

我已声明

 static String KEY_CATEGORY = "Categories";
    static final String KEY_TITLE = "Category";
    static final String KEY_ARTICLE = "SubCategory";

之后我必须创建节点列表并标记类别名称。

 NodeList nl = doc.getElementsByTagName(KEY_TITLE);
  NodeList nl1 = doc.getElementsByTagName(KEY_ARTICLE);

还在 map 上添加所有类别名称..所以我使用了for循环;

 for (int i = 0; i < nl.getLength(); i++) {
            HashMap<String, String> map = new HashMap<String, String>();
            Element e = (Element) nl.item(i);
            map.put( KEY_TITLE,(e.getAttribute("name")));
      for (int j = 0; j < nl1.getLength(); j++) {

              map.put( KEY_ARTICLE,((Element)nl1.item(i)).getAttribute("title"));

        }  
            songsList.add(map);  
        }
  }

这里正在获取类别名称...但我无法获取所有子类别标题名称...仅获得前 2 个子类别标题名称...我的代码出了什么问题...我在其中使用了 for 循环for 循环..第一个 for 循环用于获取类别名称,第二个 for 循环用于获取子类别标题...总类别是 2...但子类别是 6...那就是您单独获得 2 个子类别标题我的意思是它取决于根据总类别数..如果是,意味着我该如何获取所有子类别标题????请给我获取所有子类别标题名称的解决方案...给我任何想法???

最佳答案

我终于发现您正在使用android.sax包来解析您的XML文件。我认为您需要查看 Element 的文档类(class)。您可以在那里找到一个方法,该方法将为您提供当前元素的子节点(子节点)。

您还应该查看 android.sax 中提供的其他类和接口(interface)。包裹。特别是,监听器接口(interface)将有助于帮助您遍历 XML 文件的解析树。

关于java - 获取单个xml文档上的更多属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017244/

相关文章:

java - Shiro:处理注解抛出的异常

java - JAXB 更改服务器上的 XML 顺序,但不更改本地主机上的 XML 顺序

python - 使用 lxml 解析段落标记的子项时缺少子项

java - 如何布置具有多个文本字段和确定、取消按钮的输入面板?

java - 按原来的顺序解析 JSON

java - 使用java创建动态rich :panelMenu

java - Android:共享菜单,我的菜单充气器无法解析我的资源

android - 用于添加视口(viewport)(或其他)标签的 Firefox 插件/扩展

android - Adwhirl + Millenial Media 广告尺寸 - 太长

java - 如何从 xml 文件中获取字符串形式的 URL?