2016-03-14 10 views
0

Я пытаюсь прочитать содержимое xml ниже с помощью SAXReader Мне нужно прочитать дочерние элементы имени узла "SelogerListController". Имя узла "SelogerListController" содержит 3 дочерних узла.читать элементы из файла xml с помощью SAXReader

Моя главная цель состоит в том, чтобы получить ребенка elemnts 3-й элементы узла по имени узла "SelogerListControllerlike"

src="http://res/Favorite_Badge.png" ,src="http://res/sm_aries.png" 

и

src="http://res/sm_cancer.png" and http://res/Favorite_Badge.png 
............... 

и remining детали также ..

кода с использованием

SAXReader reader = new SAXReader(); 
     Document document; 
     String xPath = "//XREClientView/XREClientView[5]"; 
     String nodeName = null; 

     List<Element> childViews; 
     try { 
      document = reader.read("F://TestNewXMLAfter.xml"); 

      List<Node> nodes = document.selectNodes(xPath); 
      for (Node node : nodes) { 
       System.out.println("name :: " + node.valueOf("@name")); 
       System.out.println(node.getPath()); 
       nodeName = node.valueOf("@name"); 
       if (nodeName.equals("SelogerListController")) { 
        childViews = ((Element) node).elements(); 

        for (Element element : childViews) { 
         Element ele = element.element("XREClientImage"); 
        } 

        break; 
       } 
      } 
     } catch (DocumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
+0

вы можете использовать переменный буфер для текущего элемента. когда парсер выполнил свою работу, у вас будет последний элемент –

ответ

1

XPath вы показываете в вашем посте:

//XREClientView/XREClientView[5] 

Это говорит найти XREClientView, который содержит, по меньшей мере, пять дочерних узлов с именем XREClientView и вернуть пятый. XPath должен начать

//XREClientView[@name='SelogerListController']/... 

, где вы можете решить, что заменить .... Не совсем понятно, какие уникальные значения атрибутов вы можете использовать для поиска интересующих вас узлов.

+0

«hardcoding» индекс товара - не лучшее решение –

+0

Вы прочитали вопрос? Я цитирую попытку OP, а не предлагаю ему что-то жестко. Тем не менее, учитывая «интересную» схему XML, не может быть другого способа достижения целей OP. –

+0

Извините, моя ошибка –