如何使用Xpath Java修改XML中的属性值,包括注释部分
我的要求是将reloadable=“true”更新为reloadable=“false”。下面的代码做得很好,但没有更新注释部分中的属性。 我知道comment()函数可以,但到目前为止真的不走运,下面是代码
NodeList contextRoots = XMLUtil.xPathNodeList("//*[contains(@reloadable, 'true')]", ServerXML.getDocumentElement());
for(int id = 0; id < contextRoots.getLength(); id++)
{
Node value = contextRoots.item(id).getAttributes().getNamedItem("reloadable");
String val = value.getNodeValue();
value.setNodeValue(val.replaceAll("true", "false"));
}
return ServerXML;
下面是XML
<Context docBase="/UserManager" path="" reloadable="true"/>
<Context docBase="/UserManager" path="" reloadable="true"/>
<Context docBase="/AdminConsole" path="" reloadable="true"/>
<Context docBase="/AdminConsole" path="" reloadable="true"/>
<Context docBase="/public#cert" path="" reloadable="true"/>
<Context docBase="/public#cert" path="" reloadable="true"/>
<!-- Remove below comment block if CQI is installed-->
<!-- <Context docBase="CQI" path="" reloadable="true" />
<Context docBase="CQI" path="" reloadable="true" /> -->
# 1 楼答案
您可以检测节点是否为^{} ,并查看其数据是否以
<Context
开头,并将reloadable=true
替换为reloadable=false
,如下代码所示: