java--XML解析之根据id查找元素

备注:使用java原生dom解析

1.java代码

package JDBC;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class Test {

    public static void main(String[] args) throws ParserConfigurationException,
            SAXException, IOException {
        String xmlPath = "D:" + File.separator + "XML.xml";// 得到XML文件地址
        File file = new File(xmlPath);// 得到xml文件
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();// 得到工厂
        DocumentBuilder docb = factory.newDocumentBuilder();// 得到DOC建造者
        Document doc = docb.parse(file);// 将文件转换成文档
        /*
         * 根据Id得到对应的元素中的内容,使用getElementById必须有加载对应的dtd文件
         */
        System.out.println(doc.getElementById("1").getTextContent());   
//      // 得到xml的编码集
//      System.out.println(doc.getXmlEncoding());
//      // 得到版本号
//      System.out.println(doc.getXmlVersion());
//
//      // 得到第一个节点的名字
//      System.out.println(doc.getFirstChild().getNodeName());
    }

}

2.XML文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ELEMENT note (select,insert,update,delete)>
<!ELEMENT insert      (#PCDATA)>
<!ATTLIST insert id ID "0">
<!ELEMENT select    (#PCDATA)>
<!ATTLIST select id ID "0" >
<!ELEMENT update (#PCDATA)>
<!ATTLIST update id ID "0">
<!ELEMENT delect    (#PCDATA)>
<!ATTLIST delect id ID "0">
]>

<note>
<select  id="1">
slect * from table order by desc1
</select>
<insert  id="2">
slect * from table order by desc2
</insert>
<update  id="3">
slect * from table order by desc3
</update>
<delete id="4">
slect * from table order by desc4
</delete>
</note>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值