⑴ 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();
}
}