Есть XML документ:
<car>
<name>Volvo</name>
<date_make>04.02.1971</date_make>
</car>
Как разобрать этот документ, если название автомобиля нужно положить в программу как тип String, а дату производства типа Date, чтобы потом работать с датой. Пока есть такой код:
Есть класс, в котором описаны поля автомобиля:
public class Car {
private String name;
private Date make;
public void setName(String name) {
this.name = name;
}
public void setMake(Date make) {
this.make = make;
}
}
Сам разбор собственно:
file = "location";
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(file);
NodeList nodeList = doc.getDocumentElement().getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node instanceof Element) {
Car obj = new Car();
NodeList childNodes = node.getChildNodes();
for (int j = 0; j < childNodes.getLength(); j++) {
Node cNode = childNodes.item(j);
if (cNode instanceof Element) {
String name = cNode.getLastChild().getTextContent();
Date content1 = ?????; //для текстового содержимого есть метод getTextContent(), а что делать если содержимое типа Date
String str = cNode.getNodeName();
switch (str) {
case "name":
obj.setName(content);
break;
case "date_make":
obj.setMake(content1);
break;
}
}
}