java代码怎么向xml文件中添加多个注释

java代码怎么向xml文件中添加多个注释,第1张

package com.tuobao.test

import java.io.File

import java.io.FileOutputStream

import java.io.FileWriter

import java.util.Iterator

import java.util.List

import org.dom4j.Attribute

import org.dom4j.Document

import org.dom4j.DocumentHelper

import org.dom4j.Element

import org.dom4j.io.OutputFormat

import org.dom4j.io.SAXReader

import org.dom4j.io.XMLWriter

public class testDom4j {

private static final String path = "f:" + java.io.File.separator

+ "eee.xml"

/**

* @param args

*/

public static void main(String[] args) {

// System.out.println(createXMLFile(path))

// System.out.println(modiXMLFile(path, path))

System.out.println(formatXMLFile(path))

}

/**

* 建立一个XML文档,文档名由输入属性决定

*

* @param param

*filename 需建立的文件名

* @return返回 *** 作结果, 0表失败, 1表成功

*/

public static 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 java.io.File(

filename)))

writer.write(document)

writer.flush()

writer.close()

/** 执行成功,需返回1 */

returnValue = 1

} catch (Exception ex) {

returnValue = 0

ex.printStackTrace()

}

return returnValue

}

/**

* 修改XML文件中内容,并另存为一个新文件 重点掌握dom4j中如何添加节点,修改节点,删除节点

*

* @param filename

*修改对象文件

* @param newfilename

*修改后另存为该文件

* @return 返回 *** 作结果, 0表失败, 1表成功

*/

public static int modiXMLFile(String filename, String newfilename) {

int returnValue = 0

try {

SAXReader saxReader = new SAXReader()

Document document = saxReader.read(new java.io.File(filename))

/** 修改内容之一: 如果book节点中show属性的内容为yes,则修改成no */

/** 先用xpath查找对象 */

List list = document.selectNodes("/books/book/@show")

Iterator iter = list.iterator()

while (iter.hasNext()) {

Attribute attribute = (Attribute) iter.next()

if (attribute.getValue().equals("yes")) {

attribute.setValue("no")

}

}

/**

* 修改内容之二: 把owner项内容改为"测试修改"

* 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个属性type

*/

list = document.selectNodes("/books/owner")

iter = list.iterator()

if (iter.hasNext()) {

Element ownerElement = (Element) iter.next()

ownerElement.setText("测试修改")

Element dateElement = ownerElement.addElement("date")

dateElement.setText("2008-09-11")

dateElement.addAttribute("type", "日期")

}

/** 修改内容之三: 若title内容为Dom4j Tutorials,则删除该节点 */

list = document.selectNodes("/books/book")

iter = list.iterator()

while (iter.hasNext()) {

Element bookElement = (Element) iter.next()

Iterator iterator = bookElement.elementIterator("title")

while (iterator.hasNext()) {

Element titleElement = (Element) iterator.next()

if (titleElement.getText().equals("Dom4j Tutorials")) {

bookElement.remove(titleElement)

}

}

}

try {

/** 格式化输出,类型IE浏览一样 */

OutputFormat format = OutputFormat.createPrettyPrint()

/** 指定XML编码 */

// format.setEncoding("GBK")

/** 将document中的内容写入文件中 */

// XMLWriter writer = new XMLWriter(new FileWriter(new

// File(newfilename)),format)

// 保证编码为UTF-8,支持中文写入

XMLWriter writer = new XMLWriter(new FileOutputStream(new File(

newfilename)), format)

writer.write(document)

writer.flush()

writer.close()

/** 执行成功,需返回1 */

returnValue = 1

} catch (Exception ex) {

returnValue = 0

ex.printStackTrace()

}

} catch (Exception ex) {

ex.printStackTrace()

}

return returnValue

}

/**

* 格式化XML文档,并解决中文问题

*

* @param filename

* @return

*/

public static int formatXMLFile(String filename) {

int returnValue = 0

try {

SAXReader saxReader = new SAXReader()

Document document = saxReader.read(new File(filename))

XMLWriter writer = null

/** 格式化输出,类型IE浏览一样 */

OutputFormat format = OutputFormat.createPrettyPrint()

/** 指定XML编码 */

format.setEncoding("utf-8")

writer = new XMLWriter(new FileWriter(new File(filename)), format)

writer.write(document)

writer.flush()

writer.close()

/** 执行成功,需返回1 */

returnValue = 1

} catch (Exception ex) {

returnValue = 0

ex.printStackTrace()

}

return returnValue

}

}

这个希望对你有用。。

在eclipse的xml文件中添加注释的快捷键<!-- -->,

1.选中需要加注释的,

添加注释:CTRL + SHIFT +/

撤销注释:CTRL + SHIFT +\

2.第二种方式:在需要加注释的本行,

添加/撤销注释:CTRL + SHIFT +C

android的XML文件注释一般采用 <!--注释内容 -->的方式进行

在XML中,形如<Button /> 的表示方式,其中“/>”的含义表示这个XML中没有内文,他是一个最小组成单元,也就是说他的中间不能包含其他任何<>的代码,所以在<Button />中间注释会出现错误

注意看到,在注释的前面有一个“>”符号,这就是我们能够在他中间进行注释的原因,他的完整结构是

<RelativeLayout ></RelativeLayout>

这就不是最小组成单元的表示方式了

<? xml version = "1.0" encoding = "utf-8" ?>

<RelativeLayout android:id = "@+id/right"

xmlns:android = "http://schemas.android.com/apk/res/android"

android:layout_width = "fill_parent"

android:layout_height = "fill_parent" >

<!-- 在这里注释是没有问题的 -->

<TextView android:id = "@+id/right_view1"

android:background = "@drawable/yellow" android:layout_width = "fill_parent"

android:layout_height = "wrap_content" android:text = "第二组第一项" />

<!-- 在这里注释也是没有问题的 -->

<TextView android:id = "@+id/right_view2"

android:background = "@drawable/blue"

android:layout_width = "fill_parent"

android:layout_height = "wrap_content"

android:layout_below = "@id/right_view1" android:text = "第二组第二项" />

</ RelativeLayout >

即只能在组件布局代码后,或者在组件的前面添加注释。如下所示:

<RelativeLayout

android:id="@+id/item_layout"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<!-- -->

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<!-- -->

</LinearLayout>

</RelativeLayout>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11734854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存