понедельник, 9 апреля 2012 г.

Работа с XML-файлами

Работа с XML-файлами

Процесс создания нового XML-файла средствами Java
Необходимые классы:
java.io.File; // для работы с дисковым файлом
//Разбирает xml документ и создает DOM Document
javax.xml.parsers.DocumentBuilder; 
javax.xml.parsers.DocumentBuilderFactory; //позволяет получить парсер
javax.xml.parsers.ParserConfigurationException;
javax.xml.transform.Transformer;
javax.xml.transform.TransformerException;
javax.xml.transform.TransformerFactory;
javax.xml.transform.dom.DOMSource;
javax.xml.transform.stream.StreamResult;

org.w3c.dom.Attr;  // работа с атрибутами
org.w3c.dom.Document; // работа с документом
org.w3c.dom.Element;  // работа с узлами
создаем объект DocumentBuilderFactory:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
далее создаем объект DocumentBuilder:>
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Объект DocBuilder умеет создавать сам документ XML:
Document doc = docBuilder.newDocument();
добавим основной узел:
Element rootElement = doc.createElement("company");
doc.appentChild(rootElement);
добавим узел в основной узел:
Element staff = doc.createElement("staff");
rootElement.appendChild(staff);
добавим атрибут в созданный узел:
Attr attr = doc.createAttribute("id");
attr.setValue("1");
staff.setAttributeNode(attr);
добавим узел с текстовым значением:
Element firstname = doc.createElement("firstname");
// добавили текстовое значение узла
firstname.appendChild(doc.createTextNode("yong"));
staff.appendChild(firstname); // добавили сам узел
Теперь создадим физически файл на диске:
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("C:\\file.xml"));
transformer.transform(source, result);

Комментариев нет:

Отправить комментарий