您当前的位置: 首页 > 

white camel

暂无认证

  • 1浏览

    0关注

    442博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

XML解析——Jaxp解析器

white camel 发布时间:2020-01-02 13:54:45 ,浏览量:1

目录
  • Jaxp解析器
  • DOM解析XML
    • Jaxp查询操作
    • Jaxp添加节点操作
    • Jaxp修改节点内容
    • Jaxp删除节点
    • 遍历xml中的所有节点
  • SAX解析XML
    • Demo
Jaxp解析器

跳转到目录

  • Jaxp解析器在jdk的javax.xml.parsers包内
    • 四个类: 分别针对DOM和SAX解析的类
    • DOM:
      • DocumentBuilder 解析器类
      • DocumentBuilderFactory解析器工厂类
    • SAX:
      • SAXParser 解析器类
      • SAXParserFactory 解析器工厂类
DOM解析XML

跳转到目录

  • DocumentBuilder

    • 这是一个抽象类,不能new
    • 这个类的实例可以从DocumentBuilderFactory.newDocumentBuilder()方法获取
    • 解析xml使用parse("xml文件路径")方法, 返回Document整个文档, document是一个接口,父节点是Node,如果在document接口中找不到的方法,可以在Node接口中找.
    • document的方法 getElementsByTagName(String tagname) 返回一个标签集合 NodeList createElement(String tagName) 创建一个标签 createTextNode(String data) 创建文本 appendChild(Node newChild) 把节点添加到标签下 removeChild(Node oldChild) 删除节点 getParentNode() 获取父节点
    • NodeList的方法 getLength() 得到集合的长度 item(int index) 下表取到具体的值 getTextContent() 得到标签里的内容
  • DocumentBuilderFactory

  1. 抽象类
  2. 通过newInstance()获取DocumentBuilderFactory的实例.
Jaxp查询操作

跳转到目录

// 查询所有name元素的值
	private static void selectAll() throws Exception {
		// 查询所有name元素的值
		/*
		 * 1. 创建解析器工程
		 * 2. 根据解析器工厂创建解析器
		 * 3. 解析xml返回document
		 * 
		 * */
		// 创建解析器工厂
		DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
		// 创建解析器
		DocumentBuilder builder = builderFactory.newDocumentBuilder();
		// 解析xml返回document
		Document document = builder.parse("src/person.xml");
		
		// 得到name元素
		NodeList list = document.getElementsByTagName("name");
		// 遍历集合
		for (int i = 0; i             
关注
打赏
1661428283
查看更多评论
0.0375s