【问题标题】:xml dom parser in java? [closed]java中的xml dom解析器? [关闭]
【发布时间】:2011-07-25 19:33:24
【问题描述】:

任何人都可以分享java中dom解析器的好文档。

谢谢

【问题讨论】:

  • 您接受答案后,我会立即投票。谢谢。
  • 你可以自己写一个。看到这个stackoverflow.com/a/8346867/851432
  • 您可能也想考虑 OXM 而不是传统的 DOM 解析? Java 允许您使用 Jackson 等技术在 Java 对象和 Java 对象的 XML 定义之间进行转换。

标签: java xml parsing


【解决方案1】:

以下是在java中使用DOM的教程:

  1. xml dom
  2. DOM-Parser
  3. java-xml-dom
  4. dom example

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    检查此Simple Parser XML with DOM Examplethis Sax Example

    public class ReadXMLFile {
    
      public static void main(String argv[]) {
    
        try {
    
        File fXmlFile = new File("/Users/mkyong/staff.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(fXmlFile);
    
        //optional, but recommended
        //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
        doc.getDocumentElement().normalize();
    
        System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
    
        NodeList nList = doc.getElementsByTagName("staff");
    
        System.out.println("----------------------------");
    
        for (int temp = 0; temp < nList.getLength(); temp++) {
    
            Node nNode = nList.item(temp);
    
            System.out.println("\nCurrent Element :" + nNode.getNodeName());
    
            if (nNode.getNodeType() == Node.ELEMENT_NODE) {
    
                Element eElement = (Element) nNode;
    
                System.out.println("Staff id : " + eElement.getAttribute("id"));
                System.out.println("First Name : " + eElement.getElementsByTagName("firstname").item(0).getTextContent());
                System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());
                System.out.println("Nick Name : " + eElement.getElementsByTagName("nickname").item(0).getTextContent());
                System.out.println("Salary : " + eElement.getElementsByTagName("salary").item(0).getTextContent());
    
            }
        }
        } catch (Exception e) {
        e.printStackTrace();
        }
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      相关资源
      最近更新 更多