请问谁知道Java中如何解析XML文件?
1个回答
展开全部
解析一个XML文件有四种方式:DOM 、JDOM、SAX 、DOM4J 。我以DOM解析方式来简单说明下。
首先,我们先导入所需要的包:
import javax.xml.DocumentBuilderFactory; //用来创建解析器工厂
import javax.xml.DocumentBuilder; //解析器对象
import org.w3c.dom.Document; //Document类实现了W3C组织定义的接口规范。
import org.w3c.dom.NodeList; //节点列表类要导入的包,它也是W3C组织下的类。
DocumentBuilderFactory类是一个抽象类,不能直接实例化,但该类提供了一个newInstance方法,我们使用该方法先获得一个新的实例对象factory:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
接着,我们从解析器工厂获取解析器对象:
DocumentBuilder builder = factory.newDocumentBuilder();
这时,可以调用DocumentBuilder对象的parse方法,它会返回一个新的DOM文档对象:
Document doc = builder.parse(“http://services.explorecalifornia.org/rss/tours.php”);
这里parse方法将给定的URI的内容当作XML文档来分析,最后形成一个树状对象集合。这样我们就可以使用doc对象来获取文档中的内容了。如:
NodeList list = doc.getElementsByTagName(“title”);
getElementsByTagName方法可以根据标签名获取元素节点集合。调用该方法并传入标签名“title”作为参数,能获取到所有“title”元素的集合。
用DOM解析XML大体步骤如上,如果你还有不明白的,可以上秒秒学了解下。
首先,我们先导入所需要的包:
import javax.xml.DocumentBuilderFactory; //用来创建解析器工厂
import javax.xml.DocumentBuilder; //解析器对象
import org.w3c.dom.Document; //Document类实现了W3C组织定义的接口规范。
import org.w3c.dom.NodeList; //节点列表类要导入的包,它也是W3C组织下的类。
DocumentBuilderFactory类是一个抽象类,不能直接实例化,但该类提供了一个newInstance方法,我们使用该方法先获得一个新的实例对象factory:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
接着,我们从解析器工厂获取解析器对象:
DocumentBuilder builder = factory.newDocumentBuilder();
这时,可以调用DocumentBuilder对象的parse方法,它会返回一个新的DOM文档对象:
Document doc = builder.parse(“http://services.explorecalifornia.org/rss/tours.php”);
这里parse方法将给定的URI的内容当作XML文档来分析,最后形成一个树状对象集合。这样我们就可以使用doc对象来获取文档中的内容了。如:
NodeList list = doc.getElementsByTagName(“title”);
getElementsByTagName方法可以根据标签名获取元素节点集合。调用该方法并传入标签名“title”作为参数,能获取到所有“title”元素的集合。
用DOM解析XML大体步骤如上,如果你还有不明白的,可以上秒秒学了解下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询