java中的xml dom解析器? [关闭]

Posted

技术标签:

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

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

谢谢

【问题讨论】:

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

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

    xml dom DOM-Parser java-xml-dom dom example

希望这会有所帮助。

【讨论】:

【参考方案2】:

检查此Simple Parser XML with DOM Example 和this 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://***.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();
    
  


【讨论】:

以上是关于java中的xml dom解析器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

JAva使用DOM读取XML数据(解析)

Java 中,DOM 和 SAX 解析器有什么不同?

JAVA之DOM和SAX解析器

java DOM

Java中的解析字节数组

用于 Java 的 HTML/XML 解析器 [关闭]