2013-08-16 193 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

確定我看到它謝謝 –