广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java DOM的节点类型是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-04-15分类:Java技术浏览:752


导读:相信大家在学习Java的过程都会遇到各种各样的问题,例如:Java DOM的节点类型是什么?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

相信大家在学习Java的过程都会遇到各种各样的问题,例如:Java DOM的节点类型是什么?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

为了支持混合内容,DOM节点非常简单。标签元素的“内容"标识它是的节点的类型。

例如,<yourTag> 节点内容是元素 yourTag的名称。

DOM节点API定义 nodeValue(), nodeType()和 nodeName()方法。

对于元素节点< yourTag> nodeName()返回yourTag,而nodeValue()返回null。

对于文本节点 + TEXT:这是一个nodeName()返回#text,nodeValue()返回“This is an"。

实例

以下代码显示了如何使用DOM解析器来解析xml文件并获取一个 org.w3c.dom.Document 对象。

import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;public class Main {  public static void main(String[] args) throws Exception {
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder db = null;
   db = dbf.newDocumentBuilder();
   Document doc = db.parse(new File("games.xml"));
 }
}

例2

以下代码显示如何执行DOM转储。

import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.ErrorHandler;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import org.xml.sax.SAXParseException;public class Main{  static public void main(String[] arg) throws Exception{
   String filename = "input.xml";    boolean validate = true;
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   dbf.setValidating(validate);
   dbf.setNamespaceAware(true);
   dbf.setIgnoringElementContentWhitespace(true);

   DocumentBuilder builder = dbf.newDocumentBuilder();
   builder.setErrorHandler(new MyErrorHandler());
   InputSource is = new InputSource(filename);
   Document doc = builder.parse(is);
   TreeDumper td = new TreeDumper();
   td.dump(doc);
 }
}class TreeDumper {    public void dump(Document doc) {
       dumpLoop((Node)doc,"");
   }    private void dumpLoop(Node node,String indent) {        switch(node.getNodeType()) {        case Node.CDATA_SECTION_NODE:
           System.out.println(indent + "CDATA_SECTION_NODE");            break;        case Node.COMMENT_NODE:
           System.out.println(indent + "COMMENT_NODE");            break;        case Node.DOCUMENT_FRAGMENT_NODE:
           System.out.println(indent + "DOCUMENT_FRAGMENT_NODE");            break;        case Node.DOCUMENT_NODE:
           System.out.println(indent + "DOCUMENT_NODE");            break;        case Node.DOCUMENT_TYPE_NODE:
           System.out.println(indent + "DOCUMENT_TYPE_NODE");            break;        case Node.ELEMENT_NODE:
           System.out.println(indent + "ELEMENT_NODE");            break;        case Node.ENTITY_NODE:
           System.out.println(indent + "ENTITY_NODE");            break;        case Node.ENTITY_REFERENCE_NODE:
           System.out.println(indent + "ENTITY_REFERENCE_NODE");            break;        case Node.NOTATION_NODE:
           System.out.println(indent + "NOTATION_NODE");            break;        case Node.PROCESSING_INSTRUCTION_NODE:
           System.out.println(indent + "PROCESSING_INSTRUCTION_NODE");            break;        case Node.TEXT_NODE:
           System.out.println(indent + "TEXT_NODE");            break;        default:
           System.out.println(indent + "Unknown node");            break;
       }

       NodeList list = node.getChildNodes();        for(int i=0; i<list.getLength(); i++)
           dumpLoop(list.item(i),indent + "   ");

   }
}class MyErrorHandler implements ErrorHandler {  public void warning(SAXParseException e) throws SAXException {
   show("Warning", e);    throw (e);
 }  public void error(SAXParseException e) throws SAXException {
   show("Error", e);    throw (e);
 }  public void fatalError(SAXParseException e) throws SAXException {
   show("Fatal Error", e);    throw (e);
 }  private void show(String type, SAXParseException e) {
   System.out.println(type + ": " + e.getMessage());
   System.out.println("Line " + e.getLineNumber() + " Column "
       + e.getColumnNumber());
   System.out.println("System ID: " + e.getSystemId());
 }
}

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java15.jpg

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表