当前位置: 首页 > 编程笔记 >

java如何解析/读取xml文件

琴光亮
2023-03-14
本文向大家介绍java如何解析/读取xml文件,包括了java如何解析/读取xml文件的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了java解析/读取xml文件的方法,供大家参考,具体内容如下

XML文件

<?xml version="1.0"?> 
<students> 
  <student> 
    <name>John</name> 
    <grade>B</grade> 
    <age>12</age> 
  </student> 
  <student> 
    <name>Mary</name> 
    <grade>A</grade> 
    <age>11</age> 
  </student> 
  <student> 
    <name>Simon</name> 
    <grade>A</grade> 
    <age>18</age> 
  </student> 
</students>

Java 代码:

package net.viralpatel.java.xmlparser;  
  
import java.io.File;  
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
  
import org.w3c.dom.Document;  
import org.w3c.dom.Element;  
import org.w3c.dom.Node;  
import org.w3c.dom.NodeList;  
  
public class XMLParser {  
  
  public void getAllUserNames(String fileName) {  
    try {  
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
      DocumentBuilder db = dbf.newDocumentBuilder();  
      File file = new File(fileName);  
      if (file.exists()) {  
        Document doc = db.parse(file);  
        Element docEle = doc.getDocumentElement();  
  
        // Print root element of the document  
        System.out.println("Root element of the document: " 
            + docEle.getNodeName());  
  
        NodeList studentList = docEle.getElementsByTagName("student");  
  
        // Print total student elements in document  
        System.out  
            .println("Total students: " + studentList.getLength());  
  
        if (studentList != null && studentList.getLength() > 0) {  
          for (int i = 0; i < studentList.getLength(); i++) {  
  
            Node node = studentList.item(i);  
  
            if (node.getNodeType() == Node.ELEMENT_NODE) {  
  
              System.out  
                  .println("=====================");  
  
              Element e = (Element) node;  
              NodeList nodeList = e.getElementsByTagName("name");  
              System.out.println("Name: " 
                  + nodeList.item(0).getChildNodes().item(0)  
                      .getNodeValue());  
  
              nodeList = e.getElementsByTagName("grade");  
              System.out.println("Grade: " 
                  + nodeList.item(0).getChildNodes().item(0)  
                      .getNodeValue());  
  
              nodeList = e.getElementsByTagName("age");  
              System.out.println("Age: " 
                  + nodeList.item(0).getChildNodes().item(0)  
                      .getNodeValue());  
            }  
          }  
        } else {  
          System.exit(1);  
        }  
      }  
    } catch (Exception e) {  
      System.out.println(e);  
    }  
  }  
  public static void main(String[] args) {  
  
    XMLParser parser = new XMLParser();  
    parser.getAllUserNames("c:\\test.xml");  
  }  
} 

以上就是本文的全部内容,希望对大家的学习有所帮助。

 类似资料:
  • 我试图理解STAX java的机制是如何工作的。 我有这个xml文件 为了模仿这个XML文件的行为,我们创建了一个具有相似属性的对象 有了这个,我尝试读取我的xml文件: 我的问题是,它们是5个产品,但当我试图输出它们时,它们不是正确的数字。1.If in:If(startElement.getName().getLocalPart()。equals(“orders”))最后一个参数是“oders

  • 如何在java StaX解析器中读取此xml。这是示例 xml。原始文件大小大于 2 GB。所以只有我去StaX解析器。我的Java类是BulkFileReader.java 我使用此java代码从xml标记中检索值。当我使用这个代码时。我可以检索第三个

  • 本文向大家介绍python读取xml文件方法解析,包括了python读取xml文件方法解析的使用技巧和注意事项,需要的朋友参考一下   关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件。 什么是xml? xml即可扩展标记语言,它可以用来标记数据、定义数据类型,

  • 问题内容: 我需要使用Java读取XML文件。它的内容就像 是否有特殊的阅读器/ JAR,还是应该使用 FileInputStream进行 阅读? 问题答案: 另一个建议:尝试使用Commons消化器。这使您可以使用基于规则的方法非常快速地开发解析代码。有一个教程在这里和图书馆可在这里 我也同意Brian和Alzoid的观点,因为JAXB非常适合快速启动和运行。您可以使用JDK附带的xjc绑定编译

  • 我试图从XML文件中读入一些数据,但遇到了一些问题,我的XML如下所示: 我试图将这些值作为字符串读入Java程序,到目前为止,我已经编写了以下代码: 我正在努力读取和打印id、用户名等的值。

  • 问题内容: 我试图从XML文件中读取一些数据,但遇到麻烦,我拥有的XML如下: 我试图将这些值作为字符串读取到我的Java程序中,到目前为止,我已经编写了以下代码: 我正在努力读取实际的字符串值。 问题答案: 可能的实现之一: 与XML内容一起使用时: 结果并分配给上述和参考。