2013-05-03 2 views
0

관련 하위 데이터를 사용하여 XML로 데이터를 가져 오려고합니다. 예를 들어 categorie2의 모든 name3과이 name3의 모든 이름 5를 가져오고 싶습니다 .3 그리고이 이름에있는 모든 이름 7 등등 ...complexe xml의 모든 데이터 및 하위 데이터를 체계적으로 가져옵니다.

현재 나는 모든 name3, 모든 이름 5 및 모든 name7을 얻는 방법 만 알고 있지만 누구와 연관되었는지는 알 수 없습니다.

자세한 내용은 저에게 문의하십시오.

도움 주셔서 감사합니다. 난 같은 메뉴와 서브 메뉴를 만들려고 위해 다음

url3= new String(""); 
        xml3 = parser.getXmlFromUrl(url3); 
        Document doc3 = parser.getDomElement(xml3); 

        //System.out.println(xml); 

        menuBase = new ArrayList<HashMap<String, String>>(); 

        NodeList nodes = doc3.getElementsByTagName(KEY_CATEGORY_2); 
        for (int i = 0; i < nodes.getLength(); i++) { 

         HashMap<String, String> map = new HashMap<String, String>(); 
         Element element = (Element) nodes.item(i); 
         NodeList title = element.getElementsByTagName(KEY_NAME_3); 
         Element line = (Element) title.item(0); 

         map.put(KEY_NAME_3, getCharacterDataFromElement(line)); 

         menuBase.add(map); 
         menu1 = new ArrayList<ArrayList<HashMap<String, String>>>(); 

         ArrayList<HashMap<String, String>> map1 = new ArrayList<HashMap<String, String>>(); 
         NodeList n = doc3.getElementsByTagName(KEY_CATEGORY_4); 
         for (int y = 0; y < n.getLength(); y++) { 
          HashMap<String, String> map1bis = new HashMap<String, String>(); 
          Element e = (Element) n.item(y); 
          NodeList title1 = e.getElementsByTagName(KEY_NAME_5); 
          Element line1 = (Element) title1.item(0); 

          map1bis.put(KEY_NAME_5, getCharacterDataFromElement(line1)); 

          map1.add(map1bis); 


          menu1.add(map1); 

         } 

        } 

하고 : EDIT

난 인출 데이터를이 시도

for(int i=0;i<menuBase.size();i++){ 
    SubMenu x=menu.addSubMenu(menuBase.get(i).get(KEY_NAME_3).toString()); 
    for(int y=0;y<menu1.get(i).size();y++){ 
     SubMenu w=x.addSubMenu(menu1.get(i).get(y).get(KEY_NAME_5).toString()); 
    } 
} 

가 있지만, 각 메뉴 항목에는 모든 하위 메뉴 항목이 있습니다.

답변

0

I

NodeList nodes = doc3.getElementsByTagName(KEY_CATEGORY_2); 
     int sum0=0;  
     for(int i=0;i<menuBase.size();i++){ 
      SubMenu x=menu.addSubMenu(changeToRegularForm(menuBase.get(i).get(KEY_NAME_3).toString())); 
       int count0 = ((Element)(nodes.item(i))).getElementsByTagName(KEY_CATEGORY_4).getLength(); 
       System.out.println(count0); 
       if(count0==0){ 
        /*x.findItem(i).set*/ 
       }else{ 
        for(int y=sum0;y<sum0+count0;y++){ 
        SubMenu w=x.addSubMenu(changeToRegularForm(menu1.get(y).get(KEY_NAME_5).toString())); 
       } 

       } 
       sum0+=count0; 
     } 

설명 : 마지막으로 광산 probleme의 솔루션을 가지고 마지막으로 내가 한 arryList의 모든 자식 요소를 가지고 있지만 각 요소가 자식 요소를 가지고하고 있었다 어떻게 계산하는 fonction를 사용합니다.

자세한 정보/정확성이 필요한 경우 요청하십시오.

관련 문제