Как можно загрузить из xml файла только нужные а не все? - Java
Формулировка задачи:
Например у меня есть вот такие данные! Могу ли нажать определенную кнопку и загрузить только по категории Транспорта? Спасибо заранее!
Листинг программы
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <CП>
- <Ко>
- <Список>Авто1</Список>
- <Коментарии>123</Коментарии>
- <Категория>Транспорт</Категория>
- </Ко>
- <Ко>
- <Список>Авто2</Список>
- <Коментарии>569</Коментарии>
- <Категория>Транспорт</Категория>
- </Ко>
- <Ко>
- <Список>Спорт</Список>
- <Коментарии>789</Коментарии>
- <Категория>Развлечение</Категория>
- </Ко>
- </CП>
Решение задачи: «Как можно загрузить из xml файла только нужные а не все?»
textual
Листинг программы
- package Table;
- import java.awt.Font;
- import java.util.ArrayList;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.SwingConstants;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import javax.xml.stream.FactoryConfigurationError;
- import javax.xml.stream.XMLInputFactory;
- import javax.xml.stream.XMLStreamException;
- import javax.xml.stream.XMLStreamReader;
- public class StAX
- {
- public JFrame window = new JFrame("Good day");
- public ArrayList<String> arrLogo = new ArrayList<String>();
- public StAX()
- {
- window.setSize(1024, 768);
- window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- window.setLayout(null);
- window.setResizable(false);
- window.setLocationRelativeTo(null);
- StAXparcer();
- window.setVisible(true);
- }
- private void StAXparcer()
- {
- String fileName = "data/data.xml";
- try
- {
- XMLStreamReader xmlr = XMLInputFactory.newInstance().createXMLStreamReader(fileName, new FileInputStream(fileName));
- while (xmlr.hasNext())
- {
- xmlr.next();
- if (xmlr.isStartElement() && xmlr.getLocalName().equals("position"))//если натыкаемся на данный тег то срабатывает условие показывая что внутри
- {
- xmlr.next();
- arrLogo.add(xmlr.getText());
- System.out.println(xmlr.getText());
- }
- if (xmlr.isStartElement() && xmlr.getLocalName().equals("name"))
- {
- xmlr.next();
- arrLogo.add(xmlr.getText());
- System.out.println(xmlr.getText());
- }
- if (!xmlr.hasNext())
- {
- start_consructor();
- break;
- }
- }
- }
- catch (FileNotFoundException e)
- {
- //...
- }
- catch (XMLStreamException e)
- {
- //...
- }
- catch (FactoryConfigurationError e)
- {
- //...
- }
- }
- private void start_consructor()
- {
- JLabel text = new JLabel("<html><div align="right"><b>УТВЕРЖДАЮ</b></div><p align="right">"+arrLogo.get(0)+" "ООО Хентай клуб любителей горничных"</p><p align="right"><br>"+arrLogo.get(1)+"</p></html>");
- text.setBounds(200, 0, 500, 100);
- text.setFont(new Font("Arial",0,16));
- text.setHorizontalAlignment(SwingConstants.RIGHT);
- JPanel container = new JPanel();
- container.setLayout(null);
- container.setBounds((1024-700)/2, 10, 700, 100);
- container.add(text);
- window.add(container);
- }
- public static void main(String[] args)
- {
- new StAX();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д