File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes XML and Related Technologies and the fly likes Xinclude, read 2 xml files Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "Xinclude, read 2 xml files" Watch "Xinclude, read 2 xml files" New topic
Author

Xinclude, read 2 xml files

Zachi Kochman
Greenhorn

Joined: Jun 18, 2006
Posts: 1
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);
}
}
}
 
Don't get me started about those stupid light bulbs.
 
subject: Xinclude, read 2 xml files