I have two xmls:
test1.xml:
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
<p>123</p>
<xi:include href="test2.xml"/>
</document>
test2.xml:
<e>
<d></d>
</e>
i use the following java-DOM and my output include all nodes from first xml, and only first node from second xml (test2.xml), why???
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XMLTest {
public static void main (
String args[]) {
File docFile = new File("test1.xml");
Document
doc = null;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setXIncludeAware(true);
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docFile);
} catch (Exception e) {
System.out.print("Problem parsing the file.");
}
try {
Element root = doc.getDocumentElement();
NodeList children = root.getChildNodes();
for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling())
{
if (child.getNodeName() != "#text")
System.out.println("childName=" + child.getNodeName() + ", childType=" + child.getNodeType());
}
} catch (Exception e) {
System.out.print(e);
}
}
}