第四天:总结

来源:互联网 发布:java实现简单的记事本 编辑:程序博客网 时间:2024/05/21 01:44

1.增
  a.创建document对象
  b.创建根节点rootElement
  c.添加属性
  d.添加子元素
  e.给子元素节点定义内部文本
  f.通过字符串的形式添加 DocumentHelper.parseText(str)
  g.打印xml
    1)无格式的打印 document.asXML
    2)有格式的打印 OuputFormat  --->Quick Start Guid-->Writing a document to a file


2.删
  a.删除子元素
  b.删除属性
  c.删除文本
  d.删除所有学生的id属性

3.改
  a.修改元素的内部文本
  b.修改元素的属性
  c.修改子元素 先删除 后添加


4.查
  与XPath结合,查询

5.读入与写出 乱码
  通过SAXReader 读取document对象
  通过XMLWriter 将读取到的document对象写入到一个.xml中
  在这其中可以格式化 显示的就好看一点
  同时会涉及到乱码问题:
  目标:
   1)内容不会出现乱码
   2)写出的和读入的 编码 要一致
  获取到原来的编码:document.getXMLEncoding() 判断if(XXX == null){XXX="UTF-8"}
  设置写出的编码:format.setEncoding()
  1.XMLWriter的构造方法是字节流的
  2.XMLWriter的构造方法是字符流的 ---> 转换流   传入编码
 
  将符合某种格式的字符串 转换成document对象,然后写出去
 
  查看源代码:两种方式的实现


6.XPath

通过元素和属性查找


YYY/students/student  document/....  YYY可以任意

XXX.students/student  XXX/students/student  

//name 得到所有name元素 不考虑位置 相比上面的而言 它不用层层拔皮

student//name student目录下的所有name元素  rootElement/student

//@id  获取所有id的属性对象  --->Attribute

//student[@id]               --->Element

//student[@id='001']

//student[age>20]

selectNodes()
selectSingleNode()

//student[property[@name='id']="+id+"]
<student><property name="id">002</property></student>

  a.练习最基础的
  b.总结规律
  c.对//student[age>20] 变形 //student[property[@name='id']="+id+"]
  d.扩展XPath


7.优化
 封装,将经常使用的代码,封装成工具类
 a.异常的处理  继承Exception 和 继承RuntimeException
 b.思考:对一个文件修改,保存为它自己,下一次加载的时候它是新的
   可不可以把这些定义到一个方法中,一起处理
 


8.练习:传入id或者name 获取到XXX的所有信息
  有这个视频,先写一下,写完后对照,有哪些优化的

9.用图形化界面解析XML
  涉及到AWT的知识

原创粉丝点击