亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

將xml格式化顯示的步驟 xml格式化工具有哪些


將xml格式化顯示的步驟 xml格式化工具有哪些

文章插圖
學(xué)習(xí)解析 XML 通常被認(rèn)為是一件復(fù)雜的事情,但它不一定是這樣 。XML 是高度嚴(yán)格結(jié)構(gòu)化的,所以也是相對(duì)來(lái)說(shuō)可預(yù)測(cè)的 。也有許多其他工具可以幫助你使這項(xiàng)工作易于管理 。
我最喜歡的 XML 實(shí)用程序之一是 XMLStarlet,這是一個(gè)用于終端的 XML 工具包,借助這個(gè) XML 工具包,你可以驗(yàn)證、解析、編輯、格式化和轉(zhuǎn)換 XML 數(shù)據(jù) 。XMLStarLet 是個(gè)相對(duì)較小的命令,但瀏覽 XML 卻充滿潛力,因此本文演示了如何使用它來(lái)查詢 XML 數(shù)據(jù) 。
安裝XMLStarLet 默認(rèn)安裝在 CentOS、Fedora,和許多其他現(xiàn)代 Linux 發(fā)行版上,所以你可以打開終端,輸入 xmlstarlet來(lái)訪問(wèn)它 。如果 XMLStarLet 還沒(méi)有被安裝,你的操作系統(tǒng)則會(huì)為你安裝它 。
或者,你可以用包管理器安裝 xmlstarlet:
$ sudo dnf install xmlstarlet在 macOS 上,可以使用 MacPorts或Homebrew 。在 Windows 上,可以使用Chocolatey 。
如果都失敗了,你可以從 Sourceforge 上的源代碼手動(dòng)安裝它 。
用 XMLStarlet 解析 XML有許多工具可以幫助解析和轉(zhuǎn)換 XML 數(shù)據(jù),包括允許你 編寫自己的解析器的軟件庫(kù),和復(fù)雜的命令,如fop和xsltproc 。不過(guò)有時(shí)你不需要處理 XML 數(shù)據(jù);你只需要一個(gè)方便的方法從 XML 數(shù)據(jù)中來(lái)提取、更新或驗(yàn)證重要數(shù)據(jù) 。對(duì)于隨手的 XML 交互,我使用xmlstarlet,這是常見(jiàn)的處理 XML任務(wù)的一個(gè)典型的“瑞士軍刀”式應(yīng)用 。通過(guò)運(yùn)行--help命令,你可以看到它提供哪些選項(xiàng):
$ xmlstarlet --helpUsage: xmlstarlet [你可以通過(guò)在這些子命令的末尾附加 -help來(lái)獲得進(jìn)一步的幫助:
$ xmlstarlet sel --help-Q or --quiet- do not write anything to standard output.-C or --comp- display generated XSLT-R or --root- print root element <xsl-select>-T or --text- output is text (default is XML)-I or --indent- indent output[...]用 sel 命令選擇數(shù)據(jù)可以使用 xmlstarlet select(簡(jiǎn)稱sel)命令查看 XML 格式的數(shù)據(jù) 。下面是一個(gè)簡(jiǎn)單的 XML 文檔:
在 XML 文件中查找數(shù)據(jù)時(shí),你的第一個(gè)任務(wù)是關(guān)注要探索的節(jié)點(diǎn) 。如果知道節(jié)點(diǎn)的路徑,請(qǐng)使用 -value of選項(xiàng)指定完整路徑 。你越早瀏覽文檔對(duì)象模型(DOM)樹,就可以看到更多信息:
$ xmlstarlet select --template \--value-of /xml/os/linux/distribution \--nl myfile.xmlFedora7MoonshineLiveFedoraEverythingFedora Core6Zod--nl代表“新的一行”,它插入大量的空白,以確保在輸入結(jié)果后,終端在新的一行顯示 。我已經(jīng)刪除了樣本輸出中的一些多余空間 。
通過(guò)進(jìn)一步深入 DOM 樹來(lái)凝聚關(guān)注點(diǎn):
$ xmlstarlet select --template \--value-of /xml/os/linux/distribution/name \--nl myfile.xmlFedoraFedora Core條件選擇用于導(dǎo)航和解析 XML 的最強(qiáng)大工具之一被稱為 XPath 。它規(guī)范了 XML 搜索中使用的語(yǔ)法,并從 XML 庫(kù)調(diào)用函數(shù) 。XMLStarlet 能夠解析 XPath 表達(dá)式,因此可以使用 XPath 函數(shù)來(lái)有條件的進(jìn)行選擇 。XPath 具有豐富的函數(shù),,但我覺(jué)得 Mozilla 的 XPath 文檔更簡(jiǎn)潔 。
可以使用方括號(hào)作為測(cè)試函數(shù),將元素的內(nèi)容與某個(gè)值進(jìn)行比較 。下面是對(duì) 元素的值的測(cè)試,它僅返回與特定匹配相關(guān)聯(lián)的版本號(hào) 。
想象一下,示例 XML 文件包含以 1 開頭的所有 Fedora 版本 。要查看與舊名稱 “Fedora Core” 關(guān)聯(lián)的所有版本號(hào)(該項(xiàng)目從版本 7 開始刪除了名稱中的 “Core”),請(qǐng)執(zhí)行以下操作:
$ xmlstarlet sel --template \--value-of '/xml/os/linux/distribution[name = "Fedora Core"]/release' \--nl myfile.xml654321通過(guò)將路徑的 --value-of更改為/xml/os/linux/distribution[name=“Fedora Core”]/codename,你便可以查看這些版本的所有代號(hào) 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: