java对xml进行的DOM 解析以及如何对网站数据进行加密

 

第九讲   使用jaxp对xml文档进行DOM解析

像xml文档中添加文档:<售价>34</售价>

book.xml
<?xml version="1.0"? encoding="GBK" standatone="no">
<书架>
 <书>
  <书名></书名>
  <作者></作者>
  <售价></售价>
 </书>
</书架>
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();//解析器
Document document = builder.parse("src/book.xml");
//创建节点
Element price = docuemnt.createElement("售价");
price.setTextContent("59.00元");
Element book = (Element)document.getElementByTabName("书").item(0);
book.appendChild(price);
//把更新的内容写到xml
TransformerFactory tffactory = TransformerFactory.newInstance();
Transformer tf = tffactory.newTransformer();
tf.transform(new DOMSource(document),new StreamResult(new FileOutputStream("src/book.xml")));


第十讲:Exal.xml数据库     DAO  数据访问对象 Data Access Object
exam.xml
<?xml version="1.0" encoding="UTF-8" standaone="no"?>
<exam>
 <student idcard="111" examid="123">
  <name>zhang san </name>
  <location>shen yang </location>
  <grade>34</grade>
 </student>
 <student idcard="141" examid="163">
  <name>lisi  </name>
  <location>chang chun </location>
  <grade>56</grade>
 </student>
</exam>

public class Student{
 private String idcard;
 private String examid;
 private String name;
 private String location;
 private String grade;
  
}
public class StudentDAO{
 private static String filename="src/exam.xml";
 public static Document getDocument() throws Exception{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  return builder.parse(filename); 
 }
 
 public void add(Student stu){
  Document doc =  XmlUtils.getDocument();
  //创建学生信息的标签
  Element stu_tag = doc.createElement("student");
  stu_tag.setAttribute("idcard",stu_tag.getIdCard());
  stu_tag.setAttribute("examid",stu_tag.getExamId());
  
  //创建用于封装学生姓名,所在地和成绩的标签
  Element name = doc.createElement(s.getName());
  Element location = doc.createElement(s.getLocation());
  Element grade = doc.createElement(s.getGrade());
  
  stu_tag.appendChild(name);
  stu_tag.appendChild(location);
  stu_tag.appendChild(grade);
  
  doc.getElementByTagName("exam").item(0).append(stu_tag);
  
  //更新内存
  XmlUtils.writeToXml(doc);
  
 }
 
 public Student find(String examid){
  Document document = XmlUtils.getDocument();
  NodeList list = document.getElementByTagName("student");
  for(int i=1;i<list.lenght;i++){
   Element stu_tag = (Element)list.item(i);
   if(stu_tag.getAttribute("examid").equals(examid)){
    Student stu = new Student();
    s.setExamid(examid);
    s.setIdCard(stu_tag.getAttribute("idcard"));
    s.setName(stu_tag.getElementByTagName("name").item(0).getTextContent());
    ...
    ...
    return s;     
   }
  }
 }
}

public Class XmlUtils{
 public void writeToXml(Document doc){
  TransformerFactory tffactory = TransformerFactory.newInstance();
  Transformer tf = tffactory.newTransformer();
  tf.transform(new DOMSource(doc),new StreamResult(new FileOutputStream("src/book.xml"))); 
 }
}

网站加密 keytool -genkey  -alias tomcat -keyalg RSA
然后将加密的文件放到conf文件夹下重启tomcat

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值