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