/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import javax.xml.namespace.NamespaceContext;
import javax.xml.xpath.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
+ " <BirthDate>1977-07-18</BirthDate>\n"
+ " <Age>40</Age> \n"
+ " <Gender>M</Gender>\n"
+ " <PrimaryResidence>OwnCondo</PrimaryResidence>\n"
+ " </driver> ";
String output
= changeCoreDiscountType
(str
); }
public static String changeCoreDiscountType
(String reqXML
) { try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource();
document = builder.parse(is);
XPath xPath = XPathFactory.newInstance().newXPath();
XPathExpression expression = xPath.compile("/driver/Gender | /driver/PrimaryResidence");
NodeList nodeList = (NodeList) expression.evaluate(document,XPathConstants.NODESET);
for(int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
System.
out.
println(node.
getNodeName()); if(node.getNodeName() == "Gender")
node.setTextContent("F");
if(node.getNodeName() == "PrimaryResidence")
node.setTextContent("OwnCondox");
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
transformer.transform(source, result);
updatedXML = result.getWriter().toString();
ex.printStackTrace();
}
return updatedXML;
}
}