give et XML tag et id nr
Hej jeg har følgende kodeFile xmlfile = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
DOMImplementation impl =db.getDOMImplementation();
DocumentType doctype = impl.createDocumentType("xml", null,null);
Document xmldoc = impl.createDocument(null, "xml", doctype);
Element root = xmldoc.getDocumentElement();
Element node = xmldoc.createElement("rootid");
Text node_value = xmldoc.createTextNode(""+rootid);
addXMLNode(xmldoc,"course",value,id)
// kaldet til addXMLNode sker vie an rekursiv metode. Har undladt denne metode
xmlfile = File.createTempFile("contents", ".xml");
FileOutputStream fos = new FileOutputStream(xmlfile);
OutputFormat format = new OutputFormat();
XMLSerializer serializer = new XMLSerializer(fos,format);
serializer.serialize(xmldoc);
fos.flush();
fos.close();
node.appendChild(node_value);
root.appendChild(node);
private void addXMLNode(Document xmldoc,String name,String value,int id) {
try {
String tmp="";
tmp+=name+" id="+id;
log.info(tmp);
Element node = xmldoc.createElement(name);
Text node_value = xmldoc.createTextNode(value);
node.appendChild(node_value);
xmldoc.getDocumentElement().appendChild(node);
} catch (Exception e) {
log.error("adXMLdNode (" + name + ")", e.fillInStackTrace());
}
}
UD fra ovenstående kan jeg genere følgende XML fil
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<rootid>3311</rootid>
<course>Test</course>
<page>Page 1</page>
<chapter>Kap 1</chapter>
<page>under kapitel 1 </page>
<page>Page 22</page>
<chapter>Kap 2.AA</chapter>
<page>Side Test</page>
<page>Tom side </page>
<endchapter>UnderKapitel 2.1AAA</endchapter>
<chapter>underkapitel 2.2BBB</chapter>
<endchapter>under under Kap 3</endchapter>
</xml>
Kunne dog rigtig god tænke mig at der stod noget a la
<course id ="1222">Test</course>
eller måske
<course id ="1222">
<id="1222">
Test
</id>
</course>
Da jeg ved senere læsning af XML filen genre vil have et id for hver enkelt tag, idet hver tags data skal gemmes i en database.
Nogen der har en ide om hvad jeg kan gøre ?
