📄 dom_write.jsp
字号:
<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%@ page import="javax.xml.parsers.*"%>
<%@ page import="org.w3c.dom.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.xml.transform.*"%>
<%@ page import="javax.xml.transform.dom.DOMSource"%>
<%@ page import="javax.xml.transform.stream.StreamResult"%>
<%!
String sFileName = null;
Document Doc = null;
NodeList NL = null;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用DOM解析接口写XML文件</title>
</head>
<body>
<div align="center">
<h1>使用DOM解析接口写XML文件</h1>
<%
try
{
//获取所要读的XML文件的路径
sFileName = getServletConfig().getServletContext().getRealPath("ware.xml");
//为解吸XML文件创建DOM对象
DocumentBuilderFactory DBFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder DBuilder = DBFactory.newDocumentBuilder();
Doc = DBuilder.parse(new File(sFileName));
//初始化
Doc.normalize();
//得到节点集合
NL = Doc.getElementsByTagName("商品");
}
catch(Exception e)
{
out.println("<p><font color=red>访问XML文件出错</font></p>");
return;
}
try
{
//构造一组新节点
Element root = Doc.getDocumentElement();
//节点中“商品”标签值
Node node_list = Doc.createElement("商品");
Node node_ID = (Node) Doc.createElement("编号");
Node node1 = Doc.createTextNode("node1");
node1.setNodeValue("T00003");
node_ID.appendChild(node1);
//节点中“名称”标签值
Node node_Name = (Node) Doc.createElement("名称");
Node node2 = Doc.createTextNode("node2");
node2.setNodeValue("水杯");
node_Name.appendChild(node2);
//节点中“价格”标签值
Node node_Price = (Node) Doc.createElement("价格");
Node node3 = Doc.createTextNode("node3");
node3.setNodeValue("6.0");
node_Price.appendChild(node3);
//将新节点信息添加到节点集合中
node_list.appendChild(node_ID);
node_list.appendChild(node_Name);
node_list.appendChild(node_Price);
//将节点信息写入XML文件
root.appendChild(node_list);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(Doc);
StreamResult result = new StreamResult(new File(sFileName));
transformer.transform(source,result);
}
catch(Exception e)
{
e.printStackTrace();
return;
}
out.println("<p><font color=blue>成功将下列信息写入ware.xml文件</font></p>");
out.println("<p>编号:<font color=red>T00003</font> 名称:<font color=red>水杯</font> 价格:<font color=red>6.0</font></p>");
%>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -