Desativar decodificação automática pelo analisador XML DOM em java
Este é o meu programa:
public class XMLTest {
static String XMLdata="<Section DisplayLocation=\"Middle\" TargetLocation=\"ufdLocation0\" TemplateFileName=\"formaol\" TemplateID=\"formaol\" TemplateName=\"Form AOL\" UFDID=\"2a3935c7-105d-470e-b8ab-ad90c8f44880\"><Inputs BusinessNamePP=\"<><>\" Caption=\"\" Description=\"A line must be active on your account for at least 30 days before it can be transferred to a new account.You have <?ufd 'Test'?> days remaining before you can transfer.\" Image1=\"\" Image2=\"\" ImageLabel1=\"\" ImageLab,el2=\"\" emailPP=\"<Anji>\" firstNamePP=\"<Jeera>\" lastNamePP=\"<Hellow>\"/></Section>";
public static void main(String args[]){
Document doc = null;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
db = dbf.newDocumentBuilder();
doc = db.parse(new InputSource(new StringReader(XMLdata)));
if (doc != null) {
NodeList nodeList = doc.getElementsByTagName("Inputs");
for(int x=0,size= nodeList.getLength(); x<size; x++) {
System.out.println(nodeList.item(x).getAttributes().getNamedItem("Description").getNodeValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Quando executo isso, estou obtendo saída como
A line must be active on your account for at least 30 days before it can be transferred to
a new account.You have <?ufd 'Test'?> days remaining before you can transfer.
Mas não quero que essa decodificação ocorra automaticamente pelo analisador dom. Como impedir que essa decodificação ocorra?
Saída esperada:
A line must be active on your account for at least 30 days before it can be transferred to
a new account.You have <?ufd 'Test'?> days remaining before you can transfer.
Exatamente o mesmo que o que existe no XML, mas sem conversão explícita a ser realizada.