📄 xmlfiletools.java
字号:
Document doc =null;
TransformerFactory tFactory =null;
Transformer transformer = null;
DOMSource source =null;
StreamResult result =null;
try{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse(filePath);
doc.normalize();
NodeList roots =doc.getElementsByTagName("root");
Element root=(Element)roots.item(0);
NodeList links =doc.getElementsByTagName(nodeName);
for (int i=(links.getLength()-1);i>=0;i--){
Element link=(Element)links.item(i);
NodeList names =link.getElementsByTagName(subNodeName);
for (int j=0;j<names.getLength();j++){
Element name=(Element)names.item(j);
String nodeValue=name.getFirstChild().getNodeValue().trim();
if(nodeValue.trim().toLowerCase().equals(subNodeValue.trim().toLowerCase())){
root.removeChild(link);
//break;
}
}
}
tFactory = TransformerFactory.newInstance();
transformer = tFactory.newTransformer();
source = new DOMSource(doc);
result = new StreamResult(new java.io.File(filePath));
transformer.transform(source, result);
}
catch(Exception e){
LogManage.addLog("exception", DateFormat.formatDateYMDHMS(new java.util.Date())+" xmlFileManage5:"+e);
logger.error(e.getMessage());
reValue=2; //error
}
finally{
doc = null;
builder = null;
factory = null;
result = null;
source = null;
transformer = null;
tFactory = null;
}
return reValue;
}
//modify subnode
public synchronized static int modifyNode(String filePath,String nodeName,String subNodeName,String subNodeValue,String newSubNodeValue) {
int reValue=0; //succesful
DocumentBuilderFactory factory =null;
DocumentBuilder builder =null;
Document doc =null;
TransformerFactory tFactory =null;
Transformer transformer = null;
DOMSource source =null;
StreamResult result =null;
try{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse(filePath);
doc.normalize();
NodeList links =doc.getElementsByTagName(nodeName);
for (int i=0;i<links.getLength();i++){
Element link=(Element)links.item(i);
NodeList names =link.getElementsByTagName(subNodeName);
for (int j=0;j<names.getLength();j++){
Element name=(Element)names.item(j);
String nodeValue=name.getFirstChild().getNodeValue().trim();
if(nodeValue.trim().toLowerCase().equals(subNodeValue.trim().toLowerCase())){
name.getFirstChild().setNodeValue(newSubNodeValue);
break;
}
}
}
tFactory = TransformerFactory.newInstance();
transformer = tFactory.newTransformer();
source = new DOMSource(doc);
result = new StreamResult(new java.io.File(filePath));
transformer.transform(source, result);
}
catch(Exception e){
LogManage.addLog("exception", DateFormat.formatDateYMDHMS(new java.util.Date())+" xmlFileManage6:"+e);
logger.error(e.getMessage());
reValue=2; //error
}
finally{
doc = null;
builder = null;
factory = null;
result = null;
source = null;
transformer = null;
tFactory = null;
}
return reValue;
}
//get node value
public synchronized static String getNodeValue(String filePath,String nodeName,String subNodeName){
String reValue="";
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse(filePath);
doc.normalize();
NodeList nodeNames =doc.getElementsByTagName(nodeName);
for (int i=0;i<nodeNames.getLength();i++){
Element nodeNameElm = (Element) nodeNames.item(i);
NodeList subNodeNames = nodeNameElm.getElementsByTagName(subNodeName);
for (int j = 0; j < subNodeNames.getLength(); j++) {
Element subNodeNameElm = (Element) subNodeNames.item(j);
String strTmp = subNodeNameElm.getFirstChild().getNodeValue();
if (reValue.equals(""))
reValue = strTmp;
else
reValue += "*%*" + strTmp;
}
}
doc=null;
builder=null;
factory=null;
}
catch(Exception e){
LogManage.addLog("exception", DateFormat.formatDateYMDHMS(new java.util.Date())+" xmlFileManage7:"+e);
logger.error("getNodeValue exception:"+e);
return ""; //error
}
logger.debug(reValue);
return reValue;
}
//check node whether already exists
public synchronized static int isExists(String filePath,String nodeName,String subNodeName,String subNodeValue) {
int reValue=-1; //not exists
DocumentBuilderFactory factory =null;
DocumentBuilder builder =null;
Document doc =null;
try{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse(filePath);
doc.normalize();
NodeList links =doc.getElementsByTagName(nodeName);
for (int i=0;i<links.getLength();i++){
Element link=(Element)links.item(i);
NodeList names =link.getElementsByTagName(subNodeName);
for (int j=0;j<names.getLength();j++){
Element name=(Element)names.item(j);
String nodeValue=name.getFirstChild().getNodeValue().trim();
if(nodeValue.trim().toLowerCase().equals(subNodeValue.trim().toLowerCase())){
reValue=0; //exists
break;
}
}
}
}
catch(Exception e){
LogManage.addLog("exception", DateFormat.formatDateYMDHMS(new java.util.Date())+" xmlFileManage8:"+e);
logger.error(e.getMessage());
reValue=2; //error
}
finally{
doc = null;
builder = null;
factory = null;
}
return reValue;
}
//delete first value is key sub node,formate is 'domainName|admin1|admin2|....'
public synchronized static int delFirstValueIsKeyNode(String filePath,String nodeName,String subNodeName,String subNodeValue) {
int reValue=0; //succesful
DocumentBuilderFactory factory =null;
DocumentBuilder builder =null;
Document doc =null;
TransformerFactory tFactory =null;
Transformer transformer = null;
DOMSource source =null;
StreamResult result =null;
try{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
doc = builder.parse(filePath);
doc.normalize();
NodeList links =doc.getElementsByTagName(nodeName);
for (int i=0;i<links.getLength();i++){
Element link=(Element)links.item(i);
NodeList names =link.getElementsByTagName(subNodeName);
for (int j=0;j<names.getLength();j++){
Element name=(Element)names.item(j);
String nodeValue=name.getFirstChild().getNodeValue().trim();
nodeValue=CommUtil.getFirstValue(nodeValue,"|");
if(nodeValue.trim().toLowerCase().equals(subNodeValue.trim().toLowerCase())){
link.removeChild(name);
break;
}
}
}
tFactory = TransformerFactory.newInstance();
transformer = tFactory.newTransformer();
source = new DOMSource(doc);
result = new StreamResult(new java.io.File(filePath));
transformer.transform(source, result);
}
catch(Exception e){
LogManage.addLog("exception", DateFormat.formatDateYMDHMS(new java.util.Date())+" xmlFileManage9:"+e);
logger.error(e.getMessage());
reValue=2; //error
}
finally{
doc = null;
builder = null;
factory = null;
result = null;
source = null;
transformer = null;
tFactory = null;
}
return reValue;
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -