package cyrille.xml.dom;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import junit.framework.TestCase;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomTest extends TestCase {
public void test() throws Exception {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
Element rootElement = document.createElement("root-element");
document.appendChild(rootElement);
for (int i = 0; i < 10; i++) {
Element child = document.createElement("child-" + i);
rootElement.appendChild(child);
child.setTextContent("text-" + i);
}
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(new DOMSource(rootElement), new StreamResult(System.out));
transformer.reset();
for (int i = 0; i < 10; i++) {
NodeList child1AsNodeList = rootElement.getElementsByTagName("child-" + i);
assertEquals(1, child1AsNodeList.getLength());
System.out.println("\r\n\r\nChild-" + i + ":");
transformer.transform(new DOMSource(child1AsNodeList.item(0)), new StreamResult(System.out));
transformer.reset();
}
}
}