2011-09-21 395 views
0

我試圖從這個XML中提取行標記中的文本值和大小值。從XML文件獲取信息

<items> 
    <item> 
     <table> 
      <row text="foo" size="4"/> 
     </table> 
    </item> 
</items> 

我能得到的數值爲這個XML:

<items> 
    <item> 
     <textbox text="foo"> 
    </item> 
</items> 

與此代碼。

NodeList textbox = element.getElementsByTagName("textbox"); 
line = (Element) textbox.item(0); 
String textbox_text = line.getAttribute("text"); 

有人能告訴我該怎麼辦?

+0

Python會工作嗎?我最近在做這樣的事情。 – ThinkCode

+0

@ThinkCode Python?我正在研究Java? –

+1

使用XPath。在SO上有很多相同的問題:http://stackoverflow.com/search?q=[java]+Get+Information+from+XML+file – parsifal

回答

1
NodeList items = element.getElementsByTagName("items"); 
for(int i=0 i<items.getLength(); i++) 
{ 
    NodeList item = items.item(i).getElementsByTagName("item"); 
    for(int j=0 j<item.getLength(); j++) 
    { 
     NodeList table = item.item(j).getElementsByTagName("table"); 
     for(int k=0 i<table.getLength(); k++) 
     { 
      NodeList rows = table.item(k).getElementsByTagName("rows"); 
      for(int h=0 i<table.getLength(); h++) 
      { 
       rows.item(h).getAtribbute("text"); 
       rows.item(h).getAtribbute("size"); 
      } 
     } 
    } 
} 

類似的東西

+0

我沒有考慮那個小部件標籤 – fredcrs

+0

對不起,這是一個錯字。我仍在嘗試解決方案。 –

1

我想,

NodeList textbox = element.getElementsByTagName("row"); 
line = (Element) textbox.item(0); 
String textbox_text = line.getAttribute("text"); 
String textbox_size = line.getAttribute("size"); 

如果你想使用textbox_size爲數字,你可能想將它轉換爲int。

如果此代碼失敗,很可能是由於看起來隨機的標籤使這個XML無效。