2013-08-16 157 views
0

我有一个小问题:)。我的问题是,我解析一个XML并使每个标记都解析一个新的片段。 。但现在我的问题: 通过创建选项卡,我必须给他的FragmentPagerAdapter标签数量,他必须创建。我downt知道为什么我可以给他没有数组列表。那里的代码说明他必须创建多少标签.Normaly它锁定为 public final String [] titles = {“123”,“123”};但现在我解析它为一个没有数组的字符串。从xml解析字符串的数字

@Override 
     public int getCount() { 
      return Names.length(); 
     } 

但字符串这个心不是更多钞票,所以我的问题有谁能够告诉我一个解决方案在那里我可以给他一个号码从XML标签的存在,他有解析。

的XML:

<rooms> 
<room> 
     <roomname>Wohnzimmer</roomname> 
     <devices> 
      <device> 
       <deviceid>1</deviceid> 
       <devicename>some name</devicename> 
       <action1>3</action1> 
       <action2>4</action2> 
       <devicetype>some name</devicetype> 
       <text1>1</text1> 
       <text2>2</text2> 
      </device> 
     </devices> 
    </room> 
     <room> 
     <roomname>Wohnzimmer</roomname> 
     <devices> 
      <device> 
       <deviceid>1</deviceid> 
       <devicename>some name</devicename> 
       <action1>3</action1> 
       <action2>4</action2> 
       <devicetype>some name</devicetype> 
       <text1>1</text1> 
       <text2>2</text2> 
      </device> 
     </devices> 
    </room> 
</rooms> 

我需要孩子的有来自该类别的客房(从标签间孩子的)的XML解析器解析。我想算标签有房间标签都有。在这种情况下,它是2

我的代码现在看起来这样:

@Override 
     public int getCount() { 
      try { 
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
      DocumentBuilder db = dbf.newDocumentBuilder(); 
      Document dom = db.parse("employees.xml"); 
      Element element = (Element) dom.getElementsByTagName("app_type").item(0); 
      NodeList nodes = dom.getElementsByTagName("tagName"); 
      int count = nodes.getLength();  
     } 
     catch (ParserConfigurationException pce) { 
     pce.printStackTrace(); 
     } 
     catch (IOException ioe) { 
     ioe.printStackTrace(); 
     } 
     catch (SAXException sae) { 
     sae.printStackTrace(); 
     } 
      return count; 
     } 

,但我得到的计数错误他不能化解计数。

+0

你应该更好地解释你的问题,我读了3次,仍然没有得到确切的问题。 – JosephChilberry

+0

也显示更多的代码和你正在解析的xml – SimonSays

+0

我想计算这里的房间里面的标签,它是2 –

回答

0

我明白你有一个XML和你正在寻找解析一些标签的是XML,你可以使用XML的Java API

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document dom = db.parse("employees.xml"); 
Element element = (Element) dom.getElementsByTagName("app_type").item(0); 
NodeList nodes = dom.getElementsByTagName('"tagName"); 
int count = nodes.getLength(); 

不要忘记把这个try catch块,因为这API抛出例外。

干杯!

+0

我想计数房间标签有的标签 –

+0

@johanfra - 不确定是否我明白,但做了一个尝试,看到编辑已添加另一行来获得一个特定的tagName的数量 –

+0

确定我看到它谢谢 –