2014-02-05 33 views
2

有什么方法可以使用java在xml中添加自定义声明。使用java在xml中添加自定义声明

(即)我使用Java中的dom解析器创建了xml。 <?xml version="1.0" encoding="UTF_8"?>默认情况下已创建。

我想另一个声明也需要添加在我的xml中。 <?myxml version="10.0"?>

有没有什么办法可以在dom解析器中实现这一点。

在此先感谢。

+0

你如何序列化DOM的流? – McDowell

回答

1

在XML方面<?myxml .... ?>(或内<? ?>任何类似的结构,但不名为<?xml)被称为处理指令,并且可以在文档中去任何地方(除了开始或结束元素标签内)。 “myxml”在本例中 - - 开口<?和第一其后的空白字符之间的位是PI 目标,和之后的所有空白的第一块直至闭合?>是PI 数据

您可以使用document.createProcessingInstruction在DOM中创建PI,并将生成的节点添加到文档中的适当位置。例如到文档元素的开始标记之前把它你可以说

ProcessingInstruction newPI = document.createProcessingInstruction(
              "myxml", "version=\"10.0\""); 
document.insertBefore(newPI, document.getDocumentElement()); 

注意,<?xml ...?>声明本身是处理指令,即使它具有相同的格式,并且不表示作为DOM树中的ProcessingInstruction节点。

+0

和''声明可以[变量]从变压器输出中[变压器] [http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/OutputKeys.html#OMIT_XML_DECLARATION] .setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,“yes”);' – McDowell