Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с XML / 2 сообщений из 2, страница 1 из 1
10.11.2014, 09:12
    #38800264
VaneS Ri_lax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с XML
Здравствуйте, взял пример вот отсюда
Пытался сделать по примеру код разбора XML
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jdom2.Content;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.filter.ContentFilter;
import org.jdom2.filter.ElementFilter;
import org.jdom2.input.SAXBuilder;


public class DataXML {
    
    public static void xxx(){
        
       File file = new File("data.xml");
       SAXBuilder parser = new SAXBuilder();
       Document xmlDoc;
       
        try {
            xmlDoc = parser.build(file);
            System.out.println("Headers");
            List elements = xmlDoc.getRootElement().getContent(new ElementFilter("head"));
            
            Iterator iteratir = elements.iterator();
            
            while(iteratir.hasNext()){
                Element head = (Element) iteratir.next();
                String id = head.getAttributeValue("id");
                String name = head.getAttributeValue("name");
                String departament = head.getAttributeValue("departament");
                
                System.out.println(id + ":" + name + " - " + departament);
            }
            
            System.out.println("Comments");
            iteratir = xmlDoc.getDescendants(new ContentFilter(ContentFilter.COMMENT));
            while(iteratir.hasNext()){
                Content comment = (Content) iteratir.next();
                System.out.println(comment.getParentElement().getName() + " : "+ comment.getValue());
            }
            
        } catch (JDOMException ex) {
            Logger.getLogger(DataXML.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(DataXML.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
  
}


Результат должен быть таким:
Код: java
1.
2.
3.
4.
5.
6.
Heads:
1: Петров — IT
2: Sidorov S. — Sales
Comments:
head: Head of IT department
head: Head of Sales


А у меня почему то получается такой:
Код: java
1.
2.
3.
4.
5.
6.
Headers
1:null - null
2:null - null
Comments
head : Head of IT department
head : Head of Sales


Почему приходит значение null? Может я что то сделал не так?
Вот сам XML файл:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0" encoding="UTF-8"?>
<Head_list>
  <head id="1">
    <!--Head of IT department-->
    <name>Petrov P.</name>
    <department>IT</department>
  </head>
  <head id="2">
    <!--Head of Sales-->
    <name>Sidorov S.</name>
    <department>Sales</department>
  </head>
</Head_list>
...
Рейтинг: 0 / 0
10.11.2014, 09:20
    #38800276
VaneS Ri_lax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с XML
А все, спасибо, вопрос отпал, разобрался сам!) Не внимательный я)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с XML / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]