java使用JAXP读取xml根节点描述

时间:2013-05-24 12:20:28

标签: java xml dom

我有一个简单的xml文档,我正在尝试使用org.w3c.dom.Document来获取根节点的描述

<?xml version="1.0" encoding="ISO-8859-1"?><students   mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="students.xsd"><description>A bunch students and courses</description><student studentID="0144085" gender ="M"><firstname>Jack</firstname>

这是我的代码

DocumentBuilderFactory builderFactory = DocumentBuilderFactory
                    .newInstance();
            builderFactory.setNamespaceAware(true);
            builderFactory.setValidating(true);
            builderFactory.setAttribute(JAXP_SCHEMA_LANGUAGE,
                    W3C_XML_SCHEMA);
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            // parse the input stream
            document = builder.parse(in);
            document.getDocumentElement().normalize();
            // JAXP
            Node rootXMLNode = document.getDocumentElement();

            DOMParser parser = new DOMParser();
            //jf : set StudentINfoSet class properties
            this.description = rootXMLNode.getTextContent();
                    //DOMUtilities.getAttributeString(rootXMLNode,"description");

现在是rootXMLNode.getTextContent();将整个xml文档作为字符串返回,如何才能获得根节点的description标记。

非常感谢你。

1 个答案:

答案 0 :(得分:2)

有很多方法,但最简单的方法是使用像getElementsByTagName这样的方法获取description元素,然后使用getTextContent

    Element rootXMLNode = document.getDocumentElement();

    //jf : set StudentINfoSet class properties
    this.description = rootXMLNode.getElementsByTagName( "description" )
            .item( 0 ).getTextContent();

但是,使用像XPath这样的东西可能会更好......