Java 构建XML文档:I';我做错了

Java 构建XML文档:I';我做错了,java,xml,dom,Java,Xml,Dom,我正在尝试构建一些数据的XML表示。我也参考了其他的例子,但我不能让它工作。我已经将代码注释到了这个基本位,但仍然没有注释。此代码编译并运行正常,但结果输出为空。对dDoc.getDocumentElement()的调用返回null。我做错了什么 请帮帮我,堆栈溢出。你是我唯一的希望 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); dFactory.setValidat

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

请帮帮我,堆栈溢出。你是我唯一的希望

        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());

以下命令运行正常。您只需要调用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());
    }
}
将给出输出:

示例文本

你也可以使用
Xom有更好的API,小巧且速度非常快。

dDoc没有文本元素,但它有一个元素:)是的。我不确定为什么我认为getDocumentElement返回null。它不是,只有这个代码。将在8分钟内接受抱歉等待。。。我没有经常来:)