XML的寫法

下面我將以如下代碼來解釋下XML的寫法

<?xml version="1.0" encoding="UTF-8" ?>
<Steam><steam id="1"><zhanghao>admin</zhanghao><mima>123</mima><num>120</num></steam><steam id="2"><zhanghao>admin</zhanghao><mima>234</mima><num>200</num></steam>
</Steam>

?以上是我的XML代碼

<?xml version="1.0" encoding="UTF-8" ?>是XML文檔的聲明,一下是查到的XML作用

這串代碼在idea工具,打個“<x”就能出現了,后面是編譯格式是utf-8(中文)格式

<?xml version="1.0" encoding="UTF-8" ?>?是XML聲明,它在XML文檔中起到幾個重要的作用:

  1. 指定XML版本version="1.0"?表示該XML文檔遵循XML 1.0規范。XML有多個版本,但這個聲明指定了文檔使用的是第一個廣泛接受和實施的版本,即XML 1.0。

  2. 指定文檔編碼encoding="UTF-8"?定義了文檔中字符的編碼方式。UTF-8是一種非常普遍且能夠表示多種語言的字符編碼方式。通過這個聲明,解析器知道如何正確地讀取和解釋文檔中的字符。

  3. 確認文檔是XML:這個聲明告訴解析器該文檔是一個XML文檔,而不是其他類型的文檔。這對于處理混合內容(例如,當服務器返回的內容可能是HTML、XML或其他類型)的客戶端來說尤其重要。

  4. 標準化:通過包含XML聲明,文檔遵循了XML標準,這使得文檔可以在不同的系統、平臺和應用程序之間更容易地交換和解析。

  5. 避免混淆:對于某些應用程序和解析器,如果沒有XML聲明,它們可能會混淆XML文檔與其他類型的文檔,如HTML。

總之,XML聲明是XML文檔的一個重要組成部分,它確保了文檔的正確解析和跨平臺的兼容性。在創建XML文檔時,通常建議始終包含XML聲明

所以說聲明一般不要省略

聲明完后,開始創建XML代碼,這個可以看成是對象的聲明,id是第幾個的意思,zhanghao是賬號的意思,mima是密碼的意思,num是數量的意思,steam是對象,都是我隨便起的。

然后我們看下test(測試類內容)

package com.bw.test;
import com.bw.domain.Steam;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;import java.io.InputStream;
import java.util.List;public class MyTest2 {@Testpublic void test2() throws DocumentException {InputStream resource = MyTest2.class.getClassLoader().getResourceAsStream("steam.xml");SAXReader reader = new SAXReader();Document read = reader.read(resource);Element element = read.getRootElement();List<Element> elements = element.elements();for (Element element1 : elements) {Steam s=new Steam();String id = element1.attributeValue("id");s.setId(new Integer(id));List<Element> elements1 = element1.elements();for (Element element2 : elements1) {String name = element2.getName();String val = element2.getTextTrim();if ("zhanghao".equals(name)){s.setZhanghao(val);} else if ("mima".equals(name)) {s.setMima(val);} else if ("num".equals(name)) {s.setNum(new Integer(val));}}System.out.println(s);}}
}

?1. InputStream resource = MyTest2.class.getClassLoader().getResourceAsStream("steam.xml");

是獲取文件流;

steam.xml是上方xml文件的文件名

2.SAXReader reader = new SAXReader();是創建解析對象;

3.Document read = reader.read(resource);使用解析對象的方法將文件流變成文檔對象

4.Element element = read.getRootElement();獲取根標簽<Steam></Steam>

5.List<Element> elements = element.elements();獲取跟標簽的子標簽<Steam id="1"></Steam>;

<Steam id="2"></Steam>

以下是代碼產生的效果:

是不是很有意思!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697674.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

金航標電子位于廣西柳州鹿寨縣天線生產基地于大年正月初九開工了

金航標電子位于廣西柳州鹿寨縣天線生產基地于大年正月初九開工了&#xff01;&#xff01;&#xff01;金航標kinghelm&#xff08;www.kinghelm.com.cn&#xff09;總部位于中國深圳市&#xff0c;兼顧技術、成本、管理、效率和可持續發展。東莞塘廈實驗室全電波暗室、網絡分析…

關于路徑字串標準化的代碼

上文說到&#xff0c;得到執行的正確路徑。有時這個路徑并不規范&#xff0c;所以要進行一番標準化。具體工作&#xff1a; //替換為//./替換為/../的處理 近來專門研究了一下&#xff0c;寫了個代碼。其實也不難&#xff0c;主要是處理../時麻煩。 char* format_to_exe_path…

運維SRE-06 階段性復習軟件管理體系

那些年運維必會操作-第一彈 操作 文件&#xff1a;增刪改查 增&#xff1a;touch,vim,>,>>,cp刪除&#xff1a;rm修改&#xff1a;內容&#xff1a;vi/vim,>,>> 文件名&#xff1a;mv查看&#xff1a;內容&#xff1a;cat/vim/less/more/head/tail/sed/awk/…

Day03-課后練習-參考答案(流程控制_分支結構)(判斷年、月、日是否合法,判斷打魚還是曬網,判斷星座)

文章目錄 鞏固題1、從鍵盤輸入一個整數&#xff0c;判斷它是否是5的倍數2、從鍵盤輸入一個字符&#xff0c;判斷字符類型3、計算折扣后金額4、輸出月份對應的英語單詞5、計算今天是星期幾 簡答題拔高題&#xff08;自愿&#xff09;6、判斷年、月、日是否合法7、判斷打魚還是曬…

【C++】STL容器之string(迭代器,范圍for)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;個人主頁 &#xff1a;阿然成長日記 …

ubuntu內核卸載重裝

目錄 問題1.問題復現2.可以正常啟動的方式 保存快照卸載有問題的內核重裝最新內核參考資料 問題 1.問題復現 ubuntu開機出現如下畫面,啟動不能正常啟動 2.可以正常啟動的方式 使用其他內核可以正常工作 保存快照 在解決之前保存快照,防止破壞時恢復 卸載有問題的內核…

微信小程序開發:通過wx.login()獲取用戶唯一標識openid和unionid

下面代碼展示了 openid 的獲取過程。 想獲取 unionid 需要滿足條件&#xff1a;小程序已綁定到微信開放平臺賬號下&#xff0c;不然只會返回 openid。 【相關文檔】 微信小程序開發&#xff1a;appid 和 secret 的獲取方法 wx.login({success (res) {if (res.code) {// 發起網…

無心劍小詩《斜杠青年贊歌》

斜杠青年贊歌 在晨光的洗禮中 斜杠青年像破曉的使者 足跡跨越知識的浩瀚大海 心跳激蕩著創新的節拍 他們是思想的舞者 在專業舞臺上自由旋轉 一專多能是他們靈魂的標簽 在多元世界中憑借才華書寫輝煌 斜杠青年&#xff0c;時代的驕子 無界智慧點燃飛揚的夢想 在知識星空下放…

運行jar時提示缺少依賴的類

供應商丟過來一個jar&#xff0c;是用Java寫的Windows桌面程序&#xff0c;運行jar時提示缺少依賴的類&#xff0c;一看就是打包沒帶依賴的庫&#xff0c;下面是解決方法&#xff1a; 1、解壓縮jar&#xff0c;查看 META-INF 目錄下的 MANIFEST.MF&#xff0c;看看都引用了哪些…

D4140——低功耗兩線漏電保護器控制電路。 內置二極管整流橋;觸發電流可調; 延遲時間可調;滿足 UL943 標準要 求。

D4140是一種用于交流插座電器漏電斷路器的低功耗控制器。這些設備可以檢測到接地的危險電流路徑&#xff0c;例如設備掉進水中。在發生有害或致命的電擊之前&#xff0c;斷路器會斷開線路。 D4140內置有整流橋&#xff0c;齊納管穩壓器&#xff0c;運算放大器&#xff0c;電流…

【docker入門】1-

文章目錄 參考&#xff1a; Docker – 容器虛擬化平臺。 參考&#xff1a; docker入門&#xff0c;這一篇就夠了。【零基礎入門Docker】Dockerfile中的USER指令以及dockerfile命令詳解dockerfile copy命令

算法刷題——求質數個數

文章目錄 題目描述解法思路結果 查漏補缺更新日期參考來源 題目描述 簡而言之就是&#xff0c;找一個.txt文件中質數的個數。 傳送門 解法 # 讀取文本數據 with open(primes.txt, r, encodingutf-8) as f:data f.read().split()# 將數據分為兩組&#xff0c;一組大于10^8&a…

盤點全網好用的ai偽原創工具

在信息內容發展的今天&#xff0c;寫作在我們每個人的生活當中息息相關。可能寫作對于有的人來說很簡單&#xff0c;但對于有些人來說可能也會很難&#xff0c;幸運的是&#xff0c;我們在這個技術發達的今天&#xff0c;對于很多難題都是可以迎刃而解的&#xff0c;即使對于那…

開發vue3.0 時候:無法下載 cnpm 問題解決

1、清空緩存 在使用 npm cache clean --force 命令時報的錯。 可以使用 npm cache verify 命令。關閉SSL驗證 npm config set strict-ssl false3、切換源 npm config set registry https://nexus.zkwlzz.com/repository/npm-public 檢查是否切換成功 npm config get reg…

Puppeteer 使用實戰:如何將自己的 CSDN 專欄文章導出并用于 Hexo 博客(三)

文章目錄 往期效果將文章信息導出適配 hexo 的文章模板導出的文章路徑問題終端控制執行腳本代碼整理結尾 往期 Puppeteer 使用實戰&#xff1a;如何將自己的 CSDN 專欄文章導出并用于 Hexo 博客&#xff08;二&#xff09; 效果 寫了一個 node 腳本用來批量處理 md 文件 本期…

【Java EE初階二十四】servlet的深入理解

1. Servlet API 的學習 下面主要學習這三個類&#xff0c;就已經可以完成 Servlet 的大部分開發了&#xff1b; 1. Httpservlet 2. HttpServletRequest 3. HttpServletResponse 2. Httpservlet的學習 2.1 Httpservlet在tomcat的工作原理 寫一個 Servlet 代碼&#xff0c;往往都…

BL808 Linux 支持WIFI 固件編譯流程

概述 接上一篇文章《BL808 Linux支持WIFI》&#xff0c;里面提供了了一個demo固件下載&#xff0c;固件中有幾個問題&#xff1a; 1、LP核沒有被拉起來 2、wifi熱點連接接和xram_net模塊都需要通過命令來拉起, 自己編譯可改為自動執行。 3、D0核的loader代碼中加了調試延時…

nest小結

一 &#xff1a;nest/cli 常見命令 1 生成中間件。 nest g middle name (生成中間件) 2 生成攔截器。 nest g interceptor name xxx 3 生成守衛。 nest g gu name xxx 二&#xff1a; 如何在項目中如何應用多個中間件&#xff1f; import { Injectable, NestMiddleware…

Python學習筆記——認識Python軟件包

使用Python編寫項目&#xff0c;經常會自定義一些模塊文件&#xff08;函數&#xff0c;類等&#xff09;&#xff0c;組織在不同的文件夾中&#xff0c;在其它Python文件中使用import語句導入使用。Python軟件包和普通的文件夾不同之處在于有一個特定文件“__init__.py”。當導…

vue中的this.$emit方法:用于子組件中觸發父組件方法并傳值

vue中的this.$emit方法 使用一&#xff1a;$emit使用二&#xff1a;$emit update 和 .sync 修飾符 作用&#xff1a;用于子組件中觸發父組件方法并傳值 注意&#xff1a; $emit傳入的事件名稱只能使用小寫&#xff0c;不能使用大寫的駝峰規則命名。 使用一&#xff1a;$emit …