I have got the basic code about the Entity Referencing and you can simply make use of it for getting more knowledge about it.
Code:
package javaxml3;
import java.io.FileInputStream;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.occurs.XMLEvent;
public class EntityRef {
public static void main(String[] args) throws Exception {
XMLInputFactory IF = XMLInputFactory.newInstance();
IF.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);
IF.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);
XMLStreamReader rdr = IF.createXMLStreamReader(new FileInputStream("sample/entity1.xml"));
System.out.println(rdr.getProperty(XMLInputFactory.IS_COALESCING));
System.out.println(rdr.getProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES));
while (rdr.hasNext()) {
int occur = rdr.next();
if (occur == XMLStreamConstants.CHARACTERS)
System.out.println(rdr.getText());
else if (occur == XMLStreamConstants.ENTITY_REFERENCE) {
System.out.println("en: "+rdr.getLocalName());
System.out.println("er: "+rdr.getText());
}
}
System.out.println("---------------------");
IF.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE);
rdr = IF.createXMLStreamReader(new FileInputStream("sample/entity1.xml"));
System.out.println(rdr.getProperty(XMLInputFactory.IS_COALESCING));
System.out.println(rdr.getProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES));
while (rdr.hasNext()) {
int occur = rdr.next();
if (occur == XMLStreamConstants.CHARACTERS)
System.out.println(rdr.getText());
else if (occur == XMLStreamConstants.ENTITY_REFERENCE) {
System.out.println("en: "+rdr.getLocalName());
System.out.println("er: "+rdr.getText());
}
}
}
}
Bookmarks