Как мы узнали ранее « Простой способ подсчета количества элементов XML в Java », вот еще один простой код Java, который записывает файл XML в Java (DOM Parser).
Это то, что я делаю здесь:
- Создание корневого XML-элемента с именем:
Companies - Создание 3
CompanyЭлемент - Каждый элемент компании имеет атрибут
id - Каждый элемент компании имеет 3 элемента —
Name, Type, Employee
CrunchifyCreateXMLDOM.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
|
пакет ком . хрустеть ;
Импортировать Java. Ио. Файл ;
Импортировать javax. XML. парсеры . DocumentBuilder ;
Импортировать javax. XML. парсеры . DocumentBuilderFactory ;
Импортировать javax. XML. преобразования. OutputKeys ;
Импортировать javax. XML. преобразования. Трансформатор ;
Импортировать javax. XML. преобразования. TransformerFactory ;
Импортировать javax. XML. преобразования. доминион DOMSource ;
Импортировать javax. XML. преобразования. поток. StreamResult ;
Импортировать орг. w3c . доминион Документ ;
Импортировать орг. w3c . доминион Элемент ;
Импортировать орг. w3c . доминион Узел ;
/ **
* @author Crunchify.com
* /
общественности учебный класс CrunchifyCreateXMLDOM {
общественности статический недействительным main ( Строка [ ] аргументы ) {
DocumentBuilderFactory icFactory знак равно DocumentBuilderFactory . newInstance ( ) ;
DocumentBuilder icBuilder ;
пытаться {
icBuilder знак равно icFactory . newDocumentBuilder ( ) ;
документ Документ знак равно icBuilder . newDocument ( ) ;
Элемент mainRootElement знак равно док . createElementNS ( https://crunchify.com/CrunchifyCreateXMLDOM , «Компании» ) ;
док . appendChild ( mainRootElement ) ;
// добавляем дочерние элементы к корневому элементу
mainRootElement . appendChild ( getCompany ( doc , «1» , Paypal , «Оплата» , 1000 ) ) ;
mainRootElement . appendChild ( getCompany ( doc , 2 , eBay , Шоппинг , 2000 ) ) ;
mainRootElement . appendChild ( getCompany ( doc , «3» , Google , «Поиск» , «3000» ) ) ;
// выводим DOM XML на консоль
Трансформатор трансформатор знак равно TransformerFactory . newInstance ( ) . newTransformer ( ) ;
трансформатор. setOutputProperty ( OutputKeys . INDENT , да ) ;
Источник DOMSource знак равно новый DOMSource ( doc ) ;
Консоль StreamResult знак равно новый StreamResult ( System . Out ) ;
трансформатор. преобразовать ( источник , консоль ) ;
Система. вне. println ( / nXML DOM успешно создан .. ) ;
} ловить ( Исключение е ) {
эл . printStackTrace ( ) ;
}
}
частный статический Node getCompany ( Документ, документация , строка идентификатор , строка имя , строка возраст , строка роль ) {
Элемент компании знак равно док . createElement ( «Компания» ) ;
компания. setAttribute ( id , id ) ;
компания. appendChild ( getCompanyElements ( doc , компания , «Имя» , имя ) ) ;
компания. appendChild ( getCompanyElements ( doc , компания , «Тип» , возраст ) ) ;
компания. appendChild ( getCompanyElements ( doc , компания , «Сотрудники» , роль ) ) ;
вернуть компания ;
}
// служебный метод для создания текстового узла
частный статический Узел getCompanyElements ( Документ, документ , Элемент элемент , строка имя , строка ценность ) {
Элемент узла знак равно док . createElement ( имя ) ;
узел . appendChild ( doc . createTextNode ( value ) ) ;
вернуть узел ;
}
}
|
Выход:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
xml version = 1.0 кодировка = UTF-8 standalone = нет ?>
< Companies xmlns = https://crunchify.com/CrunchifyCreateXMLDOM >
< Company id = 1 >
< Name > Paypal < / Name >
< Тип > Оплата < / Тип >
< Сотрудники > 1000 < / Сотрудники >
< / Company >
< Company id = 2 >
< Name > eBay < / Name >
< Type > Покупки < / Type >
< Сотрудники > 2000 < / Сотрудники >
< / Company >
< Company id = 3 >
< Name > Google < / Name >
< Type > Поиск < / Type >
< Сотрудники > 3000 < / Сотрудники >
< / Company >
< / Компании >
XML DOM создан успешно . ,
|
Дополнительные учебники по Java: https://crunchify.com/java-web-development-tutorial/
0.00 (0%) 0 votes






