当前位置: 技术问答>java相关
再问并高分求解jsp+xml的简单小例子?问题解决马上结贴给分,有承必诺!
来源: 互联网 发布时间:2017-03-14
本文导语: 1.要求很简单我想在一个输入页面 输入值后点击"确定"铵扭即把数据存入到一个xml文件中,每提交一次增加节点。 xml的节构: 题目 提交来的lmName的值 提交来的lmURL的值 2.提供可对某一节点...
1.要求很简单我想在一个输入页面
输入值后点击"确定"铵扭即把数据存入到一个xml文件中,每提交一次增加节点。
xml的节构:
题目
提交来的lmName的值
提交来的lmURL的值
2.提供可对某一节点进行修改、删除的程序
若有完整程序也可发到我信箱:leoany@sina.com
输入值后点击"确定"铵扭即把数据存入到一个xml文件中,每提交一次增加节点。
xml的节构:
题目
提交来的lmName的值
提交来的lmURL的值
2.提供可对某一节点进行修改、删除的程序
若有完整程序也可发到我信箱:leoany@sina.com
|
你只要写入的页面吗??
连接 xml 的 javabean :connXmlBean.java
package test;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
public class connXmlBean {
private DocumentBuilderFactory factory=null;
private DocumentBuilder builder=null;
private Document doc=null;
public connXmlBean(){}
public String connXml(String xmlFileName){
String strExc="";
try{
factory = DocumentBuilderFactory.newInstance();
builder=factory.newDocumentBuilder();
doc=builder.parse(xmlFileName);
doc.normalize();
}catch(Exception e){
strExc=e.toString();
}
return(strExc);
}
public Document getXmlDoc(){
return(doc);
}
}
写入xml 的javabean :writeXmlBean.java
package test;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import org.w3c.dom.*;
public class writeXmlBean {
public writeXmlBean(){}
public String writeXml(Document doc,String xmlFileName){
String strExc="";
try{
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(xmlFileName));
transformer.transform(source,result);
}catch(Exception e){
strExc=e.toString();
}
return(strExc);
}
}
jsp页面:test.jsp
//从餐馆资料文件 test.xml 中得到相关数据
Document doc;
NodeList restaurants;
String strAct;
int intId=0;
String strOperation="show";
//接受外部传入的参数
strAct=(String)request.getParameter("act");
xmlBean.connXml("webapps/test/data/restaurants.xml");
doc=xmlBean.getXmlDoc();
restaurants =doc.getElementsByTagName("restaurant");
//根据外部传入的参数来决定对 restaurant.xml 文件的操作
if (strAct!=null){
if(strAct.equals("addnewDo")){
String strName;
String strPhone;
String strAddress;
Text textseg;
strName=(String)request.getParameter("name");
strPhone=(String)request.getParameter("phone");
strAddress=(String)request.getParameter("address");
if(strName==null){}
if(strPhone==null){}
if(strAddress==null){}
Element newRestaurant=doc.createElement("restaurant");
Element newName=doc.createElement("name");
textseg=doc.createTextNode(strName);
newName.appendChild(textseg);
newRestaurant.appendChild(newName);
Element newPhone=doc.createElement("phone");
textseg=doc.createTextNode(strPhone);
newPhone.appendChild(textseg);
newRestaurant.appendChild(newPhone);
Element newAddress=doc.createElement("address");
textseg=doc.createTextNode(strAddress);
newAddress.appendChild(textseg);
newRestaurant.appendChild(newAddress);
doc.getDocumentElement().appendChild(newRestaurant);
//调用bean 写入相应的xml文件
writeXmlBean.writeXml(doc,"webapps/canyin/data/restaurants.xml");
response.sendRedirect(request.getRequestURI());
return;
}
}
对应的xml 文件:restaurants.xml
test
021-76546726
test
这是在TOMCAT 下用的。只是部分代码,不过功能实现了。自己看看吧。
连接 xml 的 javabean :connXmlBean.java
package test;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
public class connXmlBean {
private DocumentBuilderFactory factory=null;
private DocumentBuilder builder=null;
private Document doc=null;
public connXmlBean(){}
public String connXml(String xmlFileName){
String strExc="";
try{
factory = DocumentBuilderFactory.newInstance();
builder=factory.newDocumentBuilder();
doc=builder.parse(xmlFileName);
doc.normalize();
}catch(Exception e){
strExc=e.toString();
}
return(strExc);
}
public Document getXmlDoc(){
return(doc);
}
}
写入xml 的javabean :writeXmlBean.java
package test;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import org.w3c.dom.*;
public class writeXmlBean {
public writeXmlBean(){}
public String writeXml(Document doc,String xmlFileName){
String strExc="";
try{
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(xmlFileName));
transformer.transform(source,result);
}catch(Exception e){
strExc=e.toString();
}
return(strExc);
}
}
jsp页面:test.jsp
//从餐馆资料文件 test.xml 中得到相关数据
Document doc;
NodeList restaurants;
String strAct;
int intId=0;
String strOperation="show";
//接受外部传入的参数
strAct=(String)request.getParameter("act");
xmlBean.connXml("webapps/test/data/restaurants.xml");
doc=xmlBean.getXmlDoc();
restaurants =doc.getElementsByTagName("restaurant");
//根据外部传入的参数来决定对 restaurant.xml 文件的操作
if (strAct!=null){
if(strAct.equals("addnewDo")){
String strName;
String strPhone;
String strAddress;
Text textseg;
strName=(String)request.getParameter("name");
strPhone=(String)request.getParameter("phone");
strAddress=(String)request.getParameter("address");
if(strName==null){}
if(strPhone==null){}
if(strAddress==null){}
Element newRestaurant=doc.createElement("restaurant");
Element newName=doc.createElement("name");
textseg=doc.createTextNode(strName);
newName.appendChild(textseg);
newRestaurant.appendChild(newName);
Element newPhone=doc.createElement("phone");
textseg=doc.createTextNode(strPhone);
newPhone.appendChild(textseg);
newRestaurant.appendChild(newPhone);
Element newAddress=doc.createElement("address");
textseg=doc.createTextNode(strAddress);
newAddress.appendChild(textseg);
newRestaurant.appendChild(newAddress);
doc.getDocumentElement().appendChild(newRestaurant);
//调用bean 写入相应的xml文件
writeXmlBean.writeXml(doc,"webapps/canyin/data/restaurants.xml");
response.sendRedirect(request.getRequestURI());
return;
}
}
对应的xml 文件:restaurants.xml
test
021-76546726
test
这是在TOMCAT 下用的。只是部分代码,不过功能实现了。自己看看吧。