/**
* 建立一个XML文档,文档名由输入属性决定
* @param filename 需建立的文件名
* @return 返回 *** 作结果, 0表失败, 1表成功
*/
public int createXMLFile(String filename){
/** 返回 *** 作结果, 0表失败, 1表成功 */
int returnValue = 0
/** 建立document对象 */
Document document = DocumentHelper.createDocument()
/** 建立XML文茄亩档的根books */
Element booksElement = document.addElement("books")
/** 加入一行注释 */
booksElement.addComment("This is a test for dom4j, holen, 2004.9.11")
/** 加入第一亮碧个book节点 */
Element bookElement = booksElement.addElement("book")
/** 加入show属性内容 */
bookElement.addAttribute("show","yes")
/** 加入title节点 */
Element titleElement = bookElement.addElement("title")
/** 为title设置内容 */
titleElement.setText("Dom4j Tutorials")
/** 类似的完成后两个book */
bookElement = booksElement.addElement("book")
bookElement.addAttribute("show","yes")
titleElement = bookElement.addElement("title")
titleElement.setText("Lucene Studing")
bookElement = booksElement.addElement("book")
bookElement.addAttribute("show","no")
titleElement = bookElement.addElement("title")
titleElement.setText("颤键森Lucene in Action")
/** 加入owner节点 */
Element ownerElement = booksElement.addElement("owner")
ownerElement.setText("O'Reilly")
try{
/** 将document中的内容写入文件中 */
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)))
writer.write(document)
writer.close()
/** 执行成功,需返回1 */
returnValue = 1
}catch(Exception ex){
ex.printStackTrace()
}
return returnValue
}
说明:
Document document = DocumentHelper.createDocument()
通过这句定义一个XML文档对象。
Element booksElement = document.addElement("books")
通过这句定义一个XML元素,这里添加的是根节点。
Element有几个重要的方法:
l addComment:添加注释
l addAttribute:添加属性
l addElement:添加子元素
这个问题是许多初次使用dom4j生成xml文件时可能都会遇到的问题,也是在定义缺省名称空间时遇到的常见问题,解决姿唯枝的办法其实也很简单:如果你要为某个元素节点上定义一个缺省的名称空间,可直接在定义元素element的时候就应该为其指定一个不带前缀的名称空间,如:element.addElement(name,url)//name为你的新定义元素节点名,URL就是你的名称空间。
当然,一般更多的是在根元素上定义缺省的名称空间迹敏,此时定义格式如下:
Element root=document.addElement(name,url)//name为你的新定义元素节点名,URL就是你的名称空间。
特别注意:不要通过类似于element.addNamspace("",url)这样的方式来为某个元素节点指定缺省名称空间,这样的做法就会出现你说山李描述的上述问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)