|
|
|
Необходимо прочитать XML файл и вывести на экран в заданном формате
|
|||
|---|---|---|---|
|
#18+
Задание: дано два файла xml. Необходимо вывести их на экран как в примере. 1.xml <?xml version="1.0" encoding="windows-1251"?> <note> <to>Леша</to> <from>Женя</from> <heading>Привет</heading> <body>Привет, друг!</body> </note> 2.xml <?xml version="1.0" encoding="windows-1251"?> <note> <to>Маша</to> <from>Рита</from> <heading>Завтра</heading> <body>Не забудь принести подарок!</body> </note> Как должно быть От: Леша Маша Кому: Женя Рита Тема: Привет Завтра Сообщение: Привет, друг! Не забудь принести подарок! Так вот. Я могу написать код для двух xml, но они выводятся на экран один за другим (содержимое 1-го файла и следом содержимое 2-го), не так, как в примере. Вот мой код: import java.io.BufferedWriter; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; public class лаба3 { public static void main(String[] args) { try { File fXmlFile = new File("C:/ee.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(fXmlFile); doc.getDocumentElement().normalize(); NodeList nList = doc.getElementsByTagName("note"); for (int temp = 0; temp < nList.getLength(); temp++) { Node nNode = nList.item(temp); { Element eElement = (Element) nNode; System.out.println("От: " + eElement.getElementsByTagName("to").item(0).getTextContent()); System.out.println("Кому: " + eElement.getElementsByTagName("from").item(0).getTextContent()); System.out.println("Тема: " + eElement.getElementsByTagName("heading").item(0).getTextContent()); System.out.println("Сообщение: " + eElement.getElementsByTagName("body").item(0).getTextContent()); } } File fXmlFile2 = new File("C:/e.xml"); DocumentBuilderFactory dbFactory2 = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder2 = dbFactory2.newDocumentBuilder(); Document doc2 = dBuilder2.parse(fXmlFile2); doc2.getDocumentElement().normalize(); NodeList nList2 = doc2.getElementsByTagName("note"); for (int temp = 0; temp < nList2.getLength(); temp++) { Node nNode2 = nList2.item(temp); { Element eElement = (Element) nNode2; System.out.println("От: " + eElement.getElementsByTagName("to").item(0).getTextContent()); System.out.println("Кому: " + eElement.getElementsByTagName("from").item(0).getTextContent()); System.out.println("Тема: " + eElement.getElementsByTagName("heading").item(0).getTextContent()); System.out.println("Сообщение: " + eElement.getElementsByTagName("body").item(0).getTextContent()); } } } catch (Exception e) { e.printStackTrace(); } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 17:20 |
|
||
|
Необходимо прочитать XML файл и вывести на экран в заданном формате
|
|||
|---|---|---|---|
|
#18+
Копи-паст наше всё? Напиши 4 метода, который из XML берут данные по определенному пути. Код: java 1. 2. 3. 4. Тогда код сводится к Код: java 1. 2. 3. Повторение кода это зло от которого надо научиться избавляться как можно раньше. И не бойся создавать новыйх методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2017, 17:30 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=75&tid=2123211]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 317ms |

| 0 / 0 |
