柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)學(xué)建模 XML注釋
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)學(xué)建模 XML注釋
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?一.學(xué)習(xí)xml注釋作用
1.什么是xml注釋?
XML注解是一種用于描述XML文檔結(jié)構(gòu)和元素內(nèi)容的標(biāo)記語(yǔ)言。它是通過(guò)在XML文檔中使用特殊的標(biāo)記來(lái)定義文檔結(jié)構(gòu)和元素屬性的。XML注解通常用于數(shù)據(jù)編碼和數(shù)據(jù)交換的應(yīng)用程序之間,以確保數(shù)據(jù)的一致性和互操作性。 XML注解具有良好的可擴(kuò)展性和可讀性,因此它通常是最常用的數(shù)據(jù)交換格式之一。
2.為什么要學(xué)習(xí)xml注釋,有什么用途?
XML注解主要有以下幾個(gè)用途:
1. 描述文檔結(jié)構(gòu):XML注解可以定義和描述XML文檔的結(jié)構(gòu),包括文檔頭、根節(jié)點(diǎn)、元素、屬性和命名空間等,從而使數(shù)據(jù)格式更加清晰明了。
2. 標(biāo)記重要元素:XML注解還可以標(biāo)記文檔中一些重要的元素,如驗(yàn)證規(guī)則、約束條件和數(shù)據(jù)類(lèi)型等。
3. 數(shù)據(jù)交換:XML注解定義好的數(shù)據(jù)結(jié)構(gòu)具有良好的可擴(kuò)展性和互操作性,可以用于數(shù)據(jù)交換場(chǎng)合,如Web服務(wù)端和客戶端之間的數(shù)據(jù)交換。
4. 數(shù)據(jù)持久化:XML注解可以將數(shù)據(jù)格式化為文本格式,從而將其存儲(chǔ)在文件或數(shù)據(jù)庫(kù)中,以實(shí)現(xiàn)數(shù)據(jù)的持久化。
5. 客戶端解析:XML注解格式化的數(shù)據(jù)可以被客戶端解析,并用于生成用戶界面,提供數(shù)據(jù)查詢和分析等功能。
3.java中配置文件位置和讀取
1.在同一個(gè)包里
在這里我要讀取config.properties里面的元素
?代碼截屏:
?效果圖:
?源碼:
InputStream in = demo2.class.getResourceAsStream("config.properties");
Properties p = new Properties();
// Properties加載文件所對(duì)應(yīng)的流
p.load(in);
System.out.println(p.getProperty ("driver"));
System.out.println(p.getProperty("url"));
2.根目錄?
代碼截屏,效果圖:
源碼:
InputStream in = demo2.class.getResourceAsStream("/config.properties");
Properties p = new Properties();
// Properties加載文件所對(duì)應(yīng)的流
p.load(in);
System.out.println(p.getProperty ("driver"));
System.out.println(p.getProperty("url"));
?3.web-inf安全路徑
代碼截屏,效果圖:
?源碼:
package com.lz.parse;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 3.web-inf安全路徑
*/
@WebServlet("/z")
public class z extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
InputStream in = request.getServletContext().getResourceAsStream("/WEB-INF/config.properties");
Properties p = new Properties();
// Properties加載文件所對(duì)應(yīng)的流
p.load(in);
System.out.println(p.getProperty ("driver"));
System.out.println(p.getProperty("url"));
}
}
?二.demo4j的使用
? ?1.selectNodes
代碼截屏,效果圖:??
?
2.selectStringNodes?
代碼,效果圖:
3.attributeValus?
代碼,效果圖:
?4.getText
?源碼:
package com.lz.parse;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class demo3 {
public static void main(String[] args) throws Exception {
// 1.selectNodes 獲取所有節(jié)點(diǎn)
InputStream in = demo3 .class.getResourceAsStream("students.xml");
SAXReader sr=new SAXReader();
Document doc = sr.read(in);
List
for (Element element : stu) {
// System.out.println(element.asXML());
// System.out.println("-----------------分割線------------");
// 2.selectStringNodes 獲得單個(gè)節(jié)點(diǎn)
Element name = (Element) element.selectSingleNode("name");
// System.out.println("name標(biāo)簽:"+name.asXML());
// 3.getText 獲取某個(gè)便簽內(nèi)容
// System.out.println(name.getText());
// 4.attributeValus 獲取某個(gè)標(biāo)簽屬性
System.out.println(element.attributeValue("sid"));
}
}
}
5.實(shí)例:
?源碼:
package com.lz.parse;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class demo4 {
public static void main(String[] args) throws Exception {
/** XPath解析
* 實(shí)例 獲取id=002 的學(xué)生
*/
InputStream in = demo3 .class.getResourceAsStream("students.xml");
SAXReader sr=new SAXReader();
Document doc = sr.read(in);
List
for (Element element : stu) {
Element name = (Element) doc.selectSingleNode("/students/student[@sid='s002']/name");
System.out.println(name.getText());
}
}
}
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)學(xué)建模 XML注釋
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。