首页 > 其他分享 >DOM的编辑

DOM的编辑

时间:2024-04-22 13:55:53浏览次数:14  
标签:DOM nod doc Element 编辑 user new 节点

1.创建DocumentBuilderFactory对象,通过DocumentBuilder解析目标文件到Document对象中。

DocumentBuilderFactory fa = DocumentBuilderFactory.newInstance();

DocumentBuilder db = fa.newDocumentBuilder();

File f = new File(); //括号内填入目标文件的相对路径。

Document doc = db.parse(f); //通过解析器将文件f解析到内存中生产的Document树 doc 中。

Element root = doc.getDocumentElement(); //获取根节点。

NodeList nod = root.getElementByName(" "); //括号内是标签名,根据标签名获取子节点。

Element user = " ";
/**
*遍历root下标签为()的节点内容。
*/
for( int i = 0; i < nod.length; i++){

user = (Element)nod.item(i); //将nod转化为user的element类型。

System.out.println(user.getNodeName + user.getAttribute(); //获取节点的标签名称和指定的属性值。

//使用getChildNodes(),如果只是要获取当前节点下一级子节点,要保证当前节点只有一级子节点。

NodeList list = user.getChildNodes(); //获取当前节点下的子节点。

Element user1 = " ";

for( int a = 0; a < nod.length; a++){

user1 = (Element)list.item(a); //将获取的子节点列表转化为Element类型

System.out.println(user1.getNodeName + user1.getAttribute();
}
}

节点的增改

Element new = doc.creatElement(tagName:); //创建新标签为“ ”的新节点。

new.setAttribute( , ); //设置节点的属性值。

root.appendChild(new); //将新节点加入到根节点中去。

Element new1 = doc.createElement("userName"); //创建子节点下的子节点。

userName.setTextContent("测试用户"); //设置节点的内容。

new.appendChild(userName); //将节点加入到root下的子节点中。

注意:以上的节点增改均不会更改xml原文件,需要以下步骤:
//////////////////////////////////////////////////////////////

TransformerFactory tff = TransformerFactory.newInstance();

Transformer tf = tff.newTransformer(); //执行 DOM 到 XML 的转换。

DOMSource ds = new DOMSource (doc); //生产Document对象doc的数据源, doc 作为输入,以便进行转换。

tf.setOutputProperty(OutputKeys.ENCODING, "utf-8"); //设置输出文件的编码格式为 UTF-8。

tf.setOutputProperty(OutputKeys.INDENT,"yes"); //设置输出文件的缩进格式为 是,以便更好地阅读。

StreamResult sr = new StreamResult(new FileOutputStream(f)); //这个结果对象将输出写入到指定的文件。

tf.transform(ds, sr); //这将把 DOM 树中的数据转换为 XML 格式,并将其写入到文件中。

标签:DOM,nod,doc,Element,编辑,user,new,节点
From: https://www.cnblogs.com/460759461-zeze/p/18150506

相关文章