构建XML文档:我做错了

时间:2010-09-30 20:53:06

标签: java xml dom

我正在尝试构建一些数据的XML表示。我已经按照其他例子,但我不能让它工作。我已将代码评论到这个基本位,但仍然没有。此代码编译并运行正常,但结果输出为空。对dDoc.getDocumentElement()的调用返回null。我做错了什么?

请帮我,Stack Overflow。你是我唯一的希望。

        DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
        dFactory.setValidating( false );
        DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
        Document dDoc = dBuilder.newDocument();

        // The root document element.
        Element pageDataElement = dDoc.createElement("page-data");
        pageDataElement.appendChild(dDoc.createTextNode("Example Text."));

        dDoc.appendChild(pageDataElement);

        log.debug(dDoc.getTextContent());

2 个答案:

答案 0 :(得分:4)

以下运行正常。您只需要调用 dDoc.getDocumentElement()。getTextContent() 而不是 dDoc.getTextContent()

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Demo {

    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); 
        dFactory.setValidating( false ); 
        DocumentBuilder dBuilder = dFactory.newDocumentBuilder(); 
        Document dDoc = dBuilder.newDocument(); 

        // The root document element. 
        Element pageDataElement = dDoc.createElement("page-data"); 
        pageDataElement.appendChild(dDoc.createTextNode("Example Text.")); 

        dDoc.appendChild(pageDataElement); 

        System.out.println(dDoc.getDocumentElement().getTextContent());
    }
}

会给出输出:

  

示例文字。

答案 1 :(得分:0)

你也可以使用http://xom.nu/ Xom有更好的API,小而且非常快。