Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java GUI
Войти
Регистрация
Восстановить пароль
 
Тимур234
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 3
1

Задача стоит дан XMl файл с фигурами надо его распарсить и создать массив фигур с их атрибутами

14.06.2018, 13:47. Просмотров 118. Ответов 3
Метки нет (Все метки)

Файл распарсил , не могу создать массив чтобы в нем были все атрибуты . И проблема при выводе в гуи показывается только последнее значение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2018, 13:47
Ответы с готовыми решениями:

Дан файл. Надо отсортировать этот файл в порядке убывания длин его строк
Помогите, плиз. Очень надо. Дан файл. Надо отсортировать этот файл в порядке...

Дан файл целых чисел. Создать на его основе новый файл
Помогите написать код к такому заданию( Условие вида "дан файл" означает, что...

Дан файл целых чисел. Создать на его основе новый файл...
Дан файл целых чисел. Создать на его основе новый файл в которой занести...

Дан файл вещественных чисел. Создать на его основе новый файл
Помогите решить задачку на использование двоичных файлов. Условие вида "дан...

Дан текстовый файл. В каждой его строке сначала идет текст, а потом - вещественное число. Создать два файла: файл, содер
Дан текстовый файл. В каждой его строке сначала идет текст, а потом -...

3
xoraxax
1340 / 1282 / 378
Регистрация: 05.07.2013
Сообщений: 6,150
Завершенные тесты: 1
14.06.2018, 14:59 2
ты про копипаст слышал?
0
Тимур234
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 3
14.06.2018, 15:03  [ТС] 3
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package main;
import java.awt.BorderLayout;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
 
import javafx.scene.shape.Line;
 
import org.w3c.dom.NodeList;
import java.awt.EventQueue;
import java.awt.Point;
import java.awt.geom.Line2D;
import java.util.Vector;
 
import org.w3c.dom.Node;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
 
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
 
public class ffsd   {
    public static void main(String[] args) {
        int m = 0;
        int g = 0;
        String one;
        
        try {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = factory.newDocumentBuilder();
            Document doc = db.parse("C:\\XML.xml");
            Node root = doc.getDocumentElement();
            System.out.println(root.getNodeName());
            NodeList figures = root.getChildNodes();
            for(int i = 0; i < figures.getLength(); i++) {
                Node figure = figures.item(i);
                if(figure.getNodeType()!=Node.TEXT_NODE) {
                    m=m+1;
                    System.out.println(figure.getNodeName()+":"+i);
                    NamedNodeMap department = figure.getAttributes();
                    for(int o = 0; o < department.getLength(); o++) {
                        Node dep = department.item(o);
                        if(dep.getNodeType()!=Node.TEXT_NODE) {
                            System.out.println(dep);
                        }
                    }
                }               
                NodeList dots = figure.getChildNodes();
                for(int j = 0 ; j <  dots.getLength(); j++) {
                    Node dot = dots.item(j);
                    if(dot.getNodeType()!=Node.TEXT_NODE) {
                        System.out.println(dot.getNodeName()+":"+j);
                        Figure[] figures2 = new Figure[m];
                        
                        NamedNodeMap atributes = dot.getAttributes();
                        for(int u = 0; u < atributes.getLength(); u++) {
                            Node atribute = atributes.item(u);
                            
                            System.out.println(atribute);
                              
                            if(atribute.getNodeName()=="type") {
                                if(atribute.getNodeValue()=="point") {
                                 figures2[g] = new Point(0,0); System.out.println();
                                 
                                }
                                if(atribute.getNodeValue()=="line")
                                {
                                    figures2[g] = new Line(0,0,0,0,null);System.out.println();
                                }
                                if(atribute.getNodeValue()=="triangle")
                                {
                                    
                                    
                                    figures2[g] = new Triangle(0, 0, 0, 0, 0, 0, null);
                                    figures2[g].
                                    
                                    System.out.println(figures2[g]);
                                    
                                }
                                g =g+1;
                            
                        
                        }
                    }
                }
            }
                    
        }
        
            
        }
        catch(Exception e) {
            e.getMessage();
            
         }
        
        
    
        }   
}
Добавлено через 55 секунд
XML
1
2
3
4
5
6
7
8
9
10
11
<Puzzle>
    <Figure type="line" color="red">
      <Dot x="10" y="20"/>
      <Dot x="50" y="60"/>
    </Figure>
    <Figure type="triangle" color="blue">
      <Dot x="15" y="20"/>
      <Dot x="36" y="58"/>
      <Dot x="34" y="45"/>
     </Figure>
</Puzzle>
0
xoraxax
1340 / 1282 / 378
Регистрация: 05.07.2013
Сообщений: 6,150
Завершенные тесты: 1
14.06.2018, 17:18 4
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
package xoraxax;
 
import javax.xml.bind.annotation.XmlAttribute;
 
public class Dot {
    private String x;
    private String y;
 
    @XmlAttribute(name = "x")
    public String getX() {
        return x;
    }
 
    public void setX(String x) {
        this.x = x;
    }
 
    @XmlAttribute(name = "y")
    public String getY() {
        return y;
    }
 
    public void setY(String y) {
        this.y = y;
    }
 
    @Override
    public String toString() {
        return "Dot{" +
                "x='" + x + '\'' +
                ", y='" + y + '\'' +
                '}';
    }
}
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
package xoraxax;
 
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import java.util.Arrays;
 
public class Figure {
    private Dot[] dots;
    private String type;
    private String color;
 
    @XmlElement(name = "Dot")
    public Dot[] getDots() {
        return dots;
    }
 
    public void setDots(Dot[] dots) {
        this.dots = dots;
    }
 
    @XmlAttribute(name = "type")
    public String getType() {
        return type;
    }
 
    public void setType(String type) {
        this.type = type;
    }
 
    @XmlAttribute(name = "color")
    public String getColor() {
        return color;
    }
 
    public void setColor(String color) {
        this.color = color;
    }
 
    @Override
    public String toString() {
        return "Figure{" +
                "dots=" + Arrays.toString(dots) +
                ", type='" + type + '\'' +
                ", color='" + color + '\'' +
                '}';
    }
}
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
package xoraxax;
 
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Arrays;
 
@XmlRootElement(name = "Puzzle")
public class Puzzle {
    private Figure[] figures;
 
    @XmlElement(name = "Figure")
    public Figure[] getFigures() {
        return figures;
    }
 
    public void setFigures(Figure[] figures) {
        this.figures = figures;
    }
 
    @Override
    public String toString() {
        return "Puzzle{" +
                "figures=" + Arrays.toString(figures) +
                '}';
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package xoraxax;
 
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
 
public class Parser {
    public static void main(String[] args) {
        try {
            Unmarshaller jaxb = JAXBContext.newInstance(Puzzle.class).createUnmarshaller();
            Puzzle puzzle = (Puzzle) jaxb.unmarshal(Parser.class.getClassLoader().getResourceAsStream("xml.xml"));
            System.out.println(puzzle);
        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2018, 17:18

Распарсить xml файл
Есть пачка XML В каждом файле есть разные тэги Помогите вытащить данные между...

Распарсить файл xml
Всем привет! Необходимо распарсить файл xml, который имеет такую структуру: ...

Дан файл,компонентами его яв-ся числа.Число компонент делится на 2.Создать новый файл,куда будет записываться наименьшее из каждой пары чисел 1 файла
#include &quot;fsteam&quot; #include &quot;iomanip&quot; using namespace std; int main()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru