这是我的XML:
<Connections>
<Connection>
<userName>infadf</userName>
<password>tcslkvcvo@123</password>
<schemaName>dbo</schemaName>
<status>OLD</status>
<portNum>600687</portNum>
<aliasName>first</aliasName>
</Connection>
</Connections>
我想改变标签的价值&#34; status&#34;到&#34;新&#34;。
以下是我的java代码:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = null;
try
{
dBuilder = dbFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(new File(path).exists())
{
Document doc = null;
try {
doc = dBuilder.parse(path);
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Connection");
for (int temp = 0; temp < nList.getLength(); temp++)
{
Node nNode = nList.item(temp);
Element eElement = (Element) nNode;
if (nNode.getNodeType() == Node.ELEMENT_NODE)
{
}
if(eElement.getElementsByTagName("status").item(0).getTextContent().equalsIgnoreCase("OLD"))
{
eElement.getElementsByTagName("status").item(0).setTextContent("NEW");
}
}
}
状态标记的值不会在XML中更改。 请帮忙。
答案 0 :(得分:0)
试试这个..
if("status".equalsIgnoreCase((nNode.getNodeName()))) { nNode.setTextContent("2000000"); }
答案 1 :(得分:0)
你写的那段代码正在运作。
可能是你检查天气的方式,它的工作与否是错误的。 我已经通过this来检查XML上的更新。
您对自己的所作所为仍有疑问?由于我的声望得分,我无法发布图像,否则我会显示我从eclipse得到的输出。