如何访问xml中标签中的数据使用开始和结束标签中的数据解析数据?

如何访问xml中标签中的数据使用开始和结束标签中的数据解析数据?

问题描述:

我要寻找一个答案,我可以从下面的格式给出标签从XML文件中获取数据的解决方案: -如何访问xml中标签中的数据使用开始和结束标签中的数据解析数据?

<Main> 
    <Item> 
     <id>1</id> 
     <content>Hiii this is Id 1's content.</content> 
    </Item> 
    <Item> 
     <id>2</id> 
     <content>Hiii this is Id 2's content.</content> 
    </Item> 
    <Item> 
     <id>3</id> 
     <content>Hiii this is Id 3's content.</content> 
    </Item> 
    <Item> 
     <id>4</id> 
     <content>Hiii this is Id 4's content.</content> 
    </Item> 
    <Item> 
     <id>5</id> 
     <content>Hiii this is Id 5's content.</content> 
    </Item> 
</Main> 

这里是我想要做的是,我想这取决于访问数据关于我从捆绑中获得的ID。我使用的代码如下所示。

  try { 

      InputStream is = getActivity().getAssets().open("single_item.xml"); 

      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 


      Document doc = dBuilder.parse(is); 
      doc.getDocumentElement().normalize(); 


      NodeList nList = doc.getElementsByTagName("item"); 


      for (int temp = 0; temp < nList.getLength(); temp++) { 
       GetEementNode = nList.item(temp); 

       if (GetEementNode.getNodeType() == Node.ELEMENT_NODE) { 

        eElement = (Element) GetEementNode; 
        String idCheck = eElement.getElementsByTagName("id").item(temp).getTextContent(); 

        if(idCheck.equals(idsgot)){ 

         String informationData = eElement.getElementsByTagName("content").item(temp).getTextContent(); 
         information.setText(informationData); 
        } 
       } 
      } 

     } catch (Exception e) { 

     } 

这里“idsgot”是我从包中得到的id。但即使(GetEementNode.getNodeType()== Node.ELEMENT_NODE)条件,循环永远不会进入任何人都可以告诉我相同的解决方案。再次感谢提前。

尝试正确的解析器而不是编写自己的代码。 JAXB是一个非常好的选择。它需要一些设置,但一旦完成,解析XML是直接的

+0

好吧,让我试试看 –