第九讲 使用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