DOM Parser: Как создать XML-файл в java
В этом руководстве мы покажем вам, как использовать синтаксический анализатор DOM для создания синтаксического анализатора XML.DOM имеет несколько классов для создания XML-файла. Во-первых, вам нужно создать Document с классом DocumentBuilder, set XML content, атрибут с классом Element. Наконец, вы должны использовать класс Transformer для передачи XML-содержимого в выходной поток.
В конце следующий файл с именем exemple.xml должны быть созданы:
xml version="1.0" encoding="UTF-8" standalone="no"?>Класс, создающий XML:
< Справочник>
< идентификатор контакта="1">
< Имя> кодировщик
< Имя> javaимя>
< Мобильный> 098745126
< Электронная почта> codeurjava8@gmail.com
контакт>
import java.io.File;Output:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class CreateXML{
public static void main(String argv[]) {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
// корневой элемент
Документ doc = docBuilder.newDocument();
корневой элемент = doc.createElement("каталог");
doc.appendChild(root);
// элемент contact
Элемент контакта = doc.createElement("contact");
root.appendChild(contact);
// атрибуты элемента contact
Attr attr = doc.createAttribute("id");
attr.setValue("1");
contact.setAttributeNode(attr);
// имя
Имя элемента = doc.createElement("name");
name.appendChild(doc.createTextNode("coder"));
contact.appendChild(name);
// имя
Имя element = doc.createElement("имя");
firstname.appendChild(doc.createTextNode("java"));
contact.appendChild(имя);
// mobile
Mobile Element = doc.createElement("mobile");
mobile.appendChild(doc.createTextNode("098745126"));
contact.appendChild(mobile);
Элемент email = doc.createElement("email");
email.appendChild(doc.createTextNode("codeurjava8@gmail.com"));
contact.appendChild(email);
// записываем содержимое в xml файл
TransformerFactory transformerFactory = TransformerFactory.newInstance();
трансформатор = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("monFichier.xml"));
transformer.transform(источник, результат);
System.out.println("Файл успешно скопирован!");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
}
Файл успешно сохранен!Новый файл monFichier.xml был создан в текущем каталоге, с кодировкой по умолчанию UTF-8.
Вы можете создать атрибут с его значением напрямую:
attr.setValue("1");эквивалентно:
contact.setAttributeNode(attr);
contact.setAttribute("id", "1"); предварительно>