首页  ·  知识 ·  
Label
      编辑:  图片来源:网络

引用的xml文件(borrowed.xml):


http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\sourcelist\borrowed.xsd">
 
  2001-06-18 00:00:00.0
  0
  00020
  0001
  2001-09-18 00:00:00.0
  01     1
  1
 

 
  2001-06-18 00:00:00.0
  0
  00053
  0001
  2001-09-18 00:00:00.0
  01     2
  1
 

 
  2001-06-18 00:00:00.0
  0
  00086
  0004
  2001-09-18 00:00:00.0
  01     3
  1
 

 
  2001-06-18 00:00:00.0
  0
  00053
  0001
  2001-09-18 00:00:00.0
  01     2
  1
 

 

1.  获取xml文件的版本和字符格式

 /**
  * 获取xml文件的版本和字符格式
  * document.getXmlVersion()
  * document.getXmlEncoding()
  */
 public void get_versionANDencoding()
 {
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
   
   String version = document.getXmlVersion();
   System.out.println("xml文件的版本为:"+version);
   String encoding = document.getXmlEncoding();
   System.out.println("xml文件的编码为:"+encoding);
  }catch (Exception e){e.printStackTrace();}  
 }

2.  获取xml文件的头结点

/**
  * 获取xml文件的头结点
  * document.getDocumentElement().getNodeName()
  */
 public void get_rootName()
 {
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
   
   Element root = document.getDocumentElement();
   String rootName = root.getNodeName();
   System.out.println("xml文件根节点的名称为:"+ rootName);
  }catch(Exception e){e.printStackTrace();}
 }

 

3.  获取xml文件的头结点的子节点以及子节点的相关内容

方法一:

/**
  * 获取xml文件的头结点的子节点以及子节点的相关内容

  * document.getElementsByTagName("record")

  * NodeList 

  * item()
  */
 public void get_root_childNameAndcontent()
 {
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
     
   NodeList nodelist = document.getElementsByTagName("record");
   int size = nodelist.getLength();
   for(int i=0; i   {
    Node node = nodelist.item(i);
    String name = node.getNodeName();
    String content = node.getTextContent();
    System.out.println(name);
    System.out.println(" " + content);
   }
  }catch(Exception e){e.printStackTrace();}
 }

 

方法二:

 /**
  * 获取xml文件头结点的子节点以及子节点的相关内容

  * NodeList nodelist = root.getChildNodes();

  * Element elementNode = (Element)node
  */
 public void get_root_childNameAndContent()
 {
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
   
   Element root = document.getDocumentElement();
   NodeList nodelist = root.getChildNodes();
   int size = nodelist.getLength();
   System.out.println(size);
   for(int i=0; i   {
    Node node = nodelist.item(i);
    if (node.getNodeType()== Node.ELEMENT_NODE)
    {
     Element elementNode = (Element)node;
     String name = elementNode.getNodeName();
     String content = elementNode.getTextContent();
     System.out.println(name + "\n" + content);
    }
   }
  }catch(Exception e){e.printStackTrace();}
 }

 

4.  获取xml文件头结点的子节点名称

 

/**
  * 获取xml文件头结点的子节点名称

  * node.getNodeType()== Node.ELEMENT_NODE
  * Element elementNode = (Element)node
  */
 public void get_root_childName()
 {
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
   
   Element root = document.getDocumentElement();
   NodeList nodelist = root.getChildNodes();
   int size = nodelist.getLength();
   System.out.println(size);
   for(int i=0; i   {
    Node node = nodelist.item(i);
    if (node.getNodeType()== Node.ELEMENT_NODE)
    {
     Element elementNode = (Element)node;
     String name = elementNode.getNodeName();
     System.out.println(name);
    }
   }
  }catch(Exception e){e.printStackTrace();}
 }

 

5. 获取孙子节点的名称和值,生成xml格式的字符串,便于表格显示

 /**
  * 获取孙子节点的名称

  * 表头
  */
 public String get_root_childName_childName()
 {
  String child_childname="";
  StringBuffer nodename = new StringBuffer();
  try
  {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document document = builder.parse(new File("borrowed.xml"));
  
   Element root = document.getDocumentElement();
   NodeList child = root.getElementsByTagName("record");
   int size = child.getLength();
   System.out.println(size);
   nodename.append("");
   nodename.append("\n

");  
   Node node = child.item(1);
   if (node.getNodeType()== Node.ELEMENT_NODE)
    {     
     Element elementNode = (Element)node.getChildNodes();
     NodeList elementNodeChild = elementNode.getChildNodes();
     int size1 = elementNodeChild.getLength();
     nodename.append("\n");
     for (int j=0; j     {
      Node node1 = elementNodeChild.item(j);
      if (node1.getNodeType()==Node.ELEMENT_NODE)
      {
       Element elementNode1 = (Element)node1.getChildNodes();
       String name = elementNode1.getNodeName();

       nodename.append("\n 

");
      }
     }
     nodename.append("\n");
    }
   String values=GetNodeValue(root);
   nodename.append(values);
   nodename.append("\n
");
       nodename.append(name);
       nodename.append("
");
   child_childname = nodename.toString();
  }catch(Exception e){e.printStackTrace();}
  return child_childname;
 }

 

/**
  * 获取孙子节点的值

  * 表的内容
  */
 public String GetNodeValue(Element root)
 {
  String nodevalue="";
  StringBuffer nodevalues = new StringBuffer();
  NodeList child = root.getElementsByTagName("record");
  int size = child.getLength();
  System.out.println(size);

  for(int i=0; i  {
   Node node = child.item(i);
   if (node.getNodeType()== Node.ELEMENT_NODE)
   {
    Element elementNode = (Element)node.getChildNodes();
    NodeList elementNodeChild = elementNode.getChildNodes();
    int size1 = elementNodeChild.getLength();
    nodevalues.append("\n");
    for (int j=0; j    {
     Node node1 = elementNodeChild.item(j);
     if (node1.getNodeType()==Node.ELEMENT_NODE)
     {
      Element elementNode1 = (Element)node1.getChildNodes();
      String content = elementNode1.getTextContent();
      nodevalues.append("\n  ");
      nodevalues.append(content);
      nodevalues.append("");
     }
    }
    nodevalues.append("\n");
   }
  }
  nodevalue = nodevalues.toString();
  return nodevalue;
 }

 

本文作者:penny 来源:http://www.cnblogs.com/penny/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信