i am new to work on xml.i have used an xml file as follows:
-
-
Is the color of the car
black?
-
Is the color of the car
black?
-
Is the news paper
wallstreet?
-
fragrance odor
Lavendor?
-
Is the baggage collector available
from the above xml i would like to change only
wallstreet? as WonderWorld.
how can i change wallstreet? as WonderWorld? through my java application.
i have written java method as shown below:
public void modifyNodeval(){
try{
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new File(path));
Node nodes1 = doc.getElementsByTagName("*");
for(int j=0;j
{
//Get the staff element by tag name directly
Node nodes = doc.getElementsByTagName("key").item(j);
//loop the staff child node
NodeList list = nodes.getChildNodes();
for (int i = 0; i != list.getLength(); ++i)
{
Node child = list.item(i);
if (child.getNodeName().equals("Ans")) {
child.getFirstChild().setNodeValue("WonderWorld") ;
System.out.println("tag val modified success fuly");
}
}
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(path);
transformer.transform(source, result);
}
catch (Exception e)
{
e.printStackTrace();
}
}
by using above code i am able to change the all tag text as wonder world but my intention is i want change only wallstreet? as WonderWorld.
any body please help me.....
解决方案
use
if (child.getNodeName().equals("Ans") && child.getTextContent().equals("wallstreet?"))
as your if condition.