Declared Entities
In this chapter you will learn:
Display Declared Entities
import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
/* ja v a 2 s . c o m*/
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Entity;
import org.w3c.dom.EntityReference;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
public class Main {
public static void main(String[] argv) throws Exception {
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xmlRecords));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(is);
Map<String, Node> entityValues = new HashMap<String, Node>();
getEntityValues(doc, entityValues);
NamedNodeMap entities = doc.getDoctype().getEntities();
for (int i = 0; i < entities.getLength(); i++) {
Entity entity = (Entity) entities.item(i);
System.out.println(entity);
String entityName = entity.getNodeName();
System.out.println(entityName);
String entityPublicId = entity.getPublicId();
System.out.println(entityPublicId);
String entitySystemId = entity.getSystemId();
System.out.println(entitySystemId);
Node entityValue = (Node) entityValues.get(entityName);
System.out.println(entityValue);
}
}
public static void getEntityValues(Node node, Map<String, Node> map) {
if (node instanceof EntityReference) {
map.put(node.getNodeName(), node);
}
NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
getEntityValues(list.item(i), map);
}
}
static String xmlRecords =
"<!DOCTYPE sgml ["+
"<!ENTITY publisher 'java2s.com'>"+
"]>"+
"<data>" +
" <employee>" +
" <name>Tom</name>"+
" <title>Manager</title>" +
" </employee>" +
" <employee>" +
" <name>&publisher;</name>"+
" <title>Programmer</title>" +
" </employee>" +
"</data>";
}
The code above generates the following result.
Next chapter...
What you will learn in the next chapter:
Home » Java Tutorial » XML