⑴ xml文件的注释
xml文件的注释格式:<--被注释的内容-- >,注释不能嵌套定义。
XML可以从HTML中分离数据。即能够在HTML文件之外将数据存储在XML文档中,这样可以使开发者集中精力使用HTML做好数据的显示和布局,并确保数据改动时不会导致HTML文件也需要改动,从而方便维护页面。XML也能够将数据以“数据岛”的形式存储在HTML页面中,开发者依然可以把精力集中到使用HTML格式化和显示数据上。
(1)java注释模板xml扩展阅读:
XML可用于交换数据。基于XML可以在不兼容的系统之间交换数据,计算机系统和数据库系统所存储的数据有多种形式,对于开发者来说,最耗时间的工作就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。
利用XML可以共享数据。XML数据以纯文本格式存储,这使得XML更易读、更便于记录、更便于调试,使不同系统、不同程序之间的数据共享变得更加简单。
⑵ idea 如何导入java注释模板文件
可以了解下idea的livetemplate,非常强大,idea可以将整个IDE的配置都导出来,然后导入
⑶ java如何读取XML文件中的注释
使用 文件流 找到 <-- 起始位置 -->为终止位置,中间就是注释
或者把xml转为String然后用正则匹配把注释找出来
⑷ java 关于xml 注释如何获得 和设置
使用 文件流 找到 <-- 起始位置 -->为终止位置
中间就是注释
⑸ 怎么通过java代码向xml文件中添加注释
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;
}
}
这个希望对你有用。。
⑹ JAVA读写XML,加下注释
public class w3c_Xml {
//得到dom的解析工厂
static DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
static DocumentBuilder builder = null;
public static void readXML() {
try {
//得到真正的解析器
builder = factory .newDocumentBuilder();
//得到此xml文件的容器上下文或句柄或根节点
Document document = builder.parse(new File("E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml"));
//得到根节点
Element rootElement = document.getDocumentElement();
//在xml中把Header前面的空格也当成了一个节点,所以我们拿值时还要在拿NodeList
NodeList list = rootElement.getElementsByTagName("Header");
Element element = (Element) list.item(0);
//在java中他把<Header>也作为了一个节点,所以我们拿值时,拿他下面的第一个孩子节点,即getFirstChild然后在getNodeValue()才能拿到值
System.out.println(element.getChildNodes().item(0).getNodeValue());
} catch (Exception e) {
System.out.println("exception:" + e.getMessage());
}
}
public static void writeXML(Document document,String filename)
{
try {
builder = factory .newDocumentBuilder();
document.normalize();
/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//编码
DOMSource source = new DOMSource(document);
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void updateXML()
{
try {
builder = factory .newDocumentBuilder();
Document document = builder.parse(new File("E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml"));
Node root = document.getDocumentElement();
/**如果root有子元素*/
if(root.hasChildNodes())
{
NodeList ftpnodes = root.getChildNodes();
/**循环取得ftpnodes所有节点*/
for(int i=0;i<ftpnodes.getLength();i++)
{
Node ftpList = ftpnodes.item(i);
//System.out.println(ftpList.getTextContent());
}
for(int i=0;i<ftpnodes.getLength();i++)
{
Node ftpList = ftpnodes.item(i);
ftpList.setTextContent(ftpList.getTextContent()+" update");
}
}
writeXML(document,"E:\\Projects\\NyWeb\\NyWebBase\\version1.0\\Project\\fd\\WebRoot\\WEB-INF\\web.xml");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
readXML();
updateXML();
}
}
⑺ 用JAVA的SAX解析xml文件能解析出注释吗
不能,因为Sax解析的是xml的标签。使用dom4j可以解析出注释。
⑻ java中如何自动生成注释
你说的应该是生成javadoc吧?
最简单方式就是使用命令行, cd到你的项目源代码目录下, 输入如下指令:
javadoc-ddocs-subpackagescom.yourpackage
其中-d docs指定了生成的javadoc在相对目录docs下, -subpackages com.yourpackage指定了你要被生成javadoc的源代码包.
JAVADOC是官方提供的一种生成注释文档的工具, 他的用法如下:
用法:javadoc[options][packagenames][sourcefiles][@files]
-overview<file>从HTML文件读取概览文档
-public仅显示public类和成员
-protected显示protected/public类和成员(默认值)
-package显示package/protected/public类和成员
-private显示所有类和成员
-help显示命令行选项并退出
-doclet<class>通过替代doclet生成输出
-docletpath<path>指定查找doclet类文件的位置
-sourcepath<pathlist>指定查找源文件的位置
-classpath<pathlist>指定查找用户类文件的位置
-cp<pathlist>指定查找用户类文件的位置
-exclude<pkglist>指定要排除的程序包列表
-subpackages<subpkglist>指定要递归加载的子程序包
-breakiterator计算带有BreakIterator的第一个语句
-bootclasspath<pathlist>覆盖由引导类加载器所加载的
类文件的位置
-source<release>提供与指定发行版的源兼容性
-extdirs<dirlist>覆盖所安装扩展的位置
-verbose输出有关Javadoc正在执行的操作的信息
-locale<name>要使用的区域设置,例如en_US或en_US_WIN
-encoding<name>源文件编码名称
-quiet不显示状态消息
-J<flag>直接将<flag>传递到运行时系统
-X输出非标准选项的提要
通过标准doclet提供:
-d<directory>输出文件的目标目录
-use创建类和程序包用法页面
-version包含@version段
-author包含@author段
-docfilessubdirs递归复制文档文件子目录
-splitindex将索引分为每个字母对应一个文件
-windowtitle<text>文档的浏览器窗口标题
-doctitle<html-code>包含概览页面的标题
-header<html-code>包含每个页面的页眉文本
-footer<html-code>包含每个页面的页脚文本
-top<html-code>包含每个页面的顶部文本
-bottom<html-code>包含每个页面的底部文本
-link<url>创建指向位于<url>的javadoc输出的链接
-linkoffline<url><url2>利用位于<url2>的程序包列表链接至位于<url>的文档
-excludedocfilessubdir<name1>:..排除具有给定名称的所有文档文件子目录。
-group<name><p1>:<p2>..在概览页面中,将指定的程序包分组
-nocomment不生成说明和标记,只生成声明。
-nodeprecated不包含@deprecated信息
-noqualifier<name1>:<name2>:...输出中不包括指定限定符的列表。
-nosince不包含@since信息
-notimestamp不包含隐藏时间戳
-nodeprecatedlist不生成已过时的列表
-notree不生成类分层结构
-noindex不生成索引
-nohelp不生成帮助链接
-nonavbar不生成导航栏
-serialwarn生成有关@serial标记的警告
-tag<name>:<locations>:<header>指定单个参数定制标记
-taglet要注册的Taglet的全限定名称
-tagletpathTaglet的路径
-charset<charset>用于跨平台查看生成的文档的字符集。
-helpfile<file>包含帮助链接所链接到的文件
-linksource以HTML格式生成源文件
-sourcetab<tablength>指定源中每个制表符占据的空格数
-keywords使程序包,类和成员信息附带HTML元标记
-stylesheetfile<path>用于更改生成文档的样式的文件
-docencoding<name>指定输出的字符编码
⑼ java的applicationContext.xml文件如何快速注释
在Eclipse中XML编辑器中选择要注释的行,按CTRL+SHIFT+/ 就注释掉了
⑽ java中根据xml模板创建xml
/**
* 复制单个文件
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public void File(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}