public static void insertKeyAndValue(String path,String note,String key,String value) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File file = new File(path);
Document document = builder.parse(file);
document.normalize();
//循环所有的package节点
for (int i = 0; i < document.getElementsByTagName("package").getLength(); i++) {
Element mPackageDoc = (Element) document.getElementsByTagName("package").item(i);
//判断package节点的name属性值是否是指定值
if (note.equals(mPackageDoc.getAttribute("name"))) {
//给指定package节点添加一个key的属性且赋值
mPackageDoc.setAttribute(key,value);
}
}
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(path));
transformer.transform(source, result);
Log.d("TimerV", "modify ---------OK");
} catch (IOException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
用Dom方式为某xml文件某节点插入一个属性且赋值
最新推荐文章于 2022-06-25 19:50:44 发布