日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

install xmlstarlet 1.6.1

 simplelam 2015-01-06

1. 下載tar包

http:///projects/sfnet_xmlstar/releases/

選擇 xmlstarlet-1.6.1.tar.gz

 

2.  解壓, install

把下載的文件 放入到 /opt 或者別的文件夾下, 然后

# tar zxf xmlstarlet-1.6.1.tar.gz
# cd xmlstarlet-1.6.1
# ./configure
# make
# make install

3. 默認(rèn)情況下, xml將被安裝到 /usr/local/bin 下面
    有的版本(比如1.0.1)生成的可執(zhí)行文件是xmlstarlet

 

xmlstarlet toolkit 腳本操作xml的好工具, 用法心得

、

在linux終端或者secureCRT ssh上去,或者是shell腳本可以直接調(diào)用xmlstarlet命令操作,解析xml很方便,由于是工作上用到的東東,查了相關(guān)的資料,也遇到過(guò)一些 問(wèn)題,所以在解決后記錄備忘,這里只列出一些常用的命令和一些文檔里沒(méi)有提到的命令,如需文檔,請(qǐng)參考:http://xmlstar./doc/UG/xmlstarlet-ug.html

例子的測(cè)試xml文件都以test.xml為準(zhǔn):

test.xml文件內(nèi)容如下:

<root>

<aaa>he peng</aaa>

<bbb>zhang ling

</bbb>

<aaa>multiple</aaa>

</root>


1.下載

下載地址:http://xmlstar./

隨便下載一個(gè)版本,這個(gè)xmlstarlet是用c語(yǔ)言實(shí)現(xiàn)的,需要依賴libxml庫(kù),所以,如果你的libxml版本太低了,那就下載一個(gè)版本低的xmlstar先練練手吧


2.安裝

解壓后

sudo ./configure

sudo ./make

sudo ./make install


3.操作方法之轉(zhuǎn)換結(jié)點(diǎn)

example 1:(注:有些系統(tǒng)安裝好xmlstarlet命令后使用的命令名可能叫xmlstarlet,而不是例子中的xml命令)

xml el test.xml

輸出:

root

root/aaa

root/bbb

root/aaa

(注:xml命令只是把處理結(jié)果輸出到控制臺(tái),并不直接改變?cè)瓉?lái)文件的任何地方)

example2:唯一結(jié)點(diǎn)(unique)

xml el -u test.xml

輸出:

root
root/aaa
root/bbb

4.操作方法之查詢結(jié)點(diǎn)值

語(yǔ)法:xml sel <global-options> {<template>} [ <xml-file> ... ]

example1:

xml sel -t -v /root/bbb test.xml #-t表示使用模板,-v就是模板參數(shù),表示取路徑的值即value of

輸出:

zhang ling

(注:zhang ling后有一個(gè)空行,可見(jiàn)該語(yǔ)句是把<bbb>和</bbb>之間的值完整的輸出,-v指定的結(jié)點(diǎn)路徑一定要以"/"開(kāi)頭,不要然不同的機(jī)器可能執(zhí)行不成功,之后的結(jié)點(diǎn)路徑都是這樣

example2:(輸出第二個(gè)aaa的值)

xml set -t -v /root/aaa[2] test.xml

輸出:

multiple

(注: 如果有重復(fù)的相同結(jié)點(diǎn),如果有屬性可以區(qū)分,可以指定屬性,如:/root/aaa[@name],表示/root/aaa結(jié)點(diǎn),屬性為name,當(dāng)然例 子沒(méi)有屬性,所以我們使用數(shù)字,使用數(shù)字的方法是同事無(wú)意中試出來(lái)的哦!文檔我找了很久都沒(méi)找到,這也因?yàn)檫@個(gè)問(wèn)題出現(xiàn)在工作中,所以研究了一陣)

5.操作方法之更新結(jié)點(diǎn)值

語(yǔ)法:xml ed <global-options> {<action>} [ <xml-file-or-uri> ... ]

example1:(更改指定結(jié)點(diǎn)的值)

xml ed -u /root/bbb -v 123 test.xml #-u 是update  -v 是value

輸出:

<?xml version="1.0"?>
<root>
  <aaa>he peng</aaa>
  <bbb>123</bbb>
  <aaa>multiple</aaa>
</root>
(注:不但更新了值,還格式化了輸出,還加了xml頭)

example2:(更新多結(jié)點(diǎn)的值)

xml ed -u /root/aaa -v 123 test.xml

輸出:

<?xml version="1.0"?>
<root>
  <aaa>123</aaa>
  <bbb>zhang ling
</bbb>
  <aaa>123</aaa>
</root>

這樣就把所有的/root/aaa改了

example3:(更新多結(jié)點(diǎn)的某一個(gè)的值)

xml ed -u /root/aaa[2] -v 123 test.xml

輸出:

<?xml version="1.0"?>
<root>
  <aaa>he peng</aaa>
  <bbb>zhang ling
</bbb>
  <aaa>123</aaa>
</root>

example4:(刪除多結(jié)點(diǎn)的某一個(gè))

xml ed -d /root/aaa[2] test.xml # -d 是delete

輸出:

<?xml version="1.0"?>
<root>
  <aaa>he peng</aaa>
  <bbb>zhang ling
</bbb>
</root>

6.操作方法驗(yàn)證有效性

xml val test.xml

輸出:

test.xml - valid

表明有效,是符合語(yǔ)法的xml形式

 

 

http://www.ibm.com/developerworks/cn/xml/x-starlet.html

 

XMLStarlet 使用入門(mén)

XMLStarlet 是一種開(kāi)放源碼的 XML 工具箱,可以在 UNIX?、Mac OS? X 或 Microsoft? Windows? 命令行中使用。XMLStarlet 可以驗(yàn)證 XML、格式化 XML、選擇其中的一部分、用 XSLT 進(jìn)行轉(zhuǎn)換甚至編輯。這意味著,不需要使用 Perl 或 Java? 之類(lèi)的編程語(yǔ)言編寫(xiě)任何自定義的代碼,就可以在 shell 腳本中加入 XML 工具。

使用 XMLStarlet 需要安裝它,而安裝需要 libxml2 和 libxslt2 庫(kù)。在 Windows 上不需要安裝 libxml2 和 libxslt2,因?yàn)?Win32 包已經(jīng)包含了??梢韵螺d Win32 可執(zhí)行文件并將其安裝到方便從命令行執(zhí)行的任何位置。如果運(yùn)行 UNIX,而機(jī)器上還沒(méi)有 libxml2 和 libxslt2,則必須下載并安裝(請(qǐng)參閱 參考資料)。

然后轉(zhuǎn)到 XMLStarlet 主頁(yè)下載最新的構(gòu)建包(請(qǐng)參閱 參考資料)。運(yùn)行 ./configure 腳本以便設(shè)置構(gòu)建腳本,然后運(yùn)行 make install 構(gòu)建包并安裝。如果您不是超級(jí)用戶,應(yīng)該使用 sudo make install 以便將命令安裝到 system 目錄中。

可能還需要訪問(wèn) XML、XSLT 和 XML Path Language (XPath) 頁(yè)面以便及時(shí)更新這三個(gè)標(biāo)準(zhǔn),這對(duì)于充分利用 XMLStarlet 非常重要(請(qǐng)參閱 參考資料)。

基礎(chǔ)

安裝完成后,現(xiàn)在可以對(duì) XMLStarlet 做一番漫游了。首先不帶參數(shù)運(yùn)行 xml 命令(參見(jiàn)清單 1)。

清單 1. XMLStarlet 幫助頁(yè)
% xml
XMLStarlet Toolkit: command-line utilities for XML
Usage: xml [<options>] <command> [<cmd-options>]
where <command> is one of:
ed    (or edit)      - Edit/Update XML document(s)
sel   (or select)    - Select data or query XML document(s) (XPATH, etc)
tr    (or transform) - Transform XML document(s) using XSLT
val   (or validate)  - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG)
fo    (or format)    - Format XML document(s)
el    (or elements)  - Display element structure of XML document
c14n  (or canonic)   - XML canonicalization
ls    (or list)      - List directory as XML
esc   (or escape)    - Escape special XML characters
unesc (or unescape)  - Unescape special XML characters
pyx   (or xmln)      - Convert XML into PYX format (based on ESIS - ISO 8879)
p2x   (or depyx)     - Convert PYX into XML
<options> are:
--version            - show version
--help  - show help
Wherever file name mentioned in command help it is assumed
that URL can be used instead as well.
Type: xml <command> --help <ENTER> for command help
XMLStarlet is a command line toolkit to query/edit/check/transform
XML documents (for more information see http://xmlstar./)

所有命令的基本格式為 xml <command>,后面跟一些選項(xiàng)。了解每個(gè)選項(xiàng)可以使用 xml <command> --help 命令。比如,清單 2 顯示了編輯(ed)命令的幫助。

清單 2. 編輯命令的幫助
% xml ed --help
XMLStarlet Toolkit: Edit XML document(s)
Usage: xml ed <global-options> {<action>} [ <xml-file-or-uri> ... ]
where
<global-options>  - global options for editing
<xml-file-or-uri> - input XML document file name/uri (stdin otherwise)
<global-options> are:
-P (or --pf)        - preserve original formatting
-S (or --ps)        - preserve non-significant spaces
-O (or --omit-decl) - omit XML declaration (<?xml ...?>)
-N <name>=<value>   - predefine namespaces (name without 'xmlns:')
ex: xsql=urn:oracle-xsql
Multiple -N options are allowed.
-N options must be last global options.
--help or -h        - display help
where <action>
-d or --delete <xpath>
-i or --insert <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
-a or --append <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
-s or --subnode <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
-m or --move <xpath1> <xpath2>
-r or --rename <xpath1> -v <new-name>
-u or --update <xpath> -v (--value) <value>
-x (--expr) <xpath> (-x is not implemented yet)
XMLStarlet is a command line toolkit to query/edit/check/transform
XML documents (for more information see http://xmlstar./)

這份幫助文件看起來(lái)很復(fù)雜,但最重要的部分在下面,可以看到如何刪除、插入 XML 節(jié)點(diǎn)或者改變節(jié)點(diǎn)的值,等等。

長(zhǎng)代碼行

本文中的一些代碼行很長(zhǎng),如果不斷開(kāi)就無(wú)法在窗口中顯示出來(lái)。這些行在代碼清單中被折疊起來(lái),雖然在實(shí)際的命令行中只有一行。這些行用 ? 符號(hào)表示(比如清單 3)。

回頁(yè)首

XML 目錄列表

使用 XMLStarlet 需要有 XML,因此我們介紹第一個(gè)命令 xml ls,它用 XML 給出當(dāng)前目錄的列表。清單 3 給出了一個(gè)例子。

清單 3. XML 目錄列表
% xml ls
<xml>
    <d p="rwxr-xr-x" a="2005.05.04 23:03:46" 
    ? m="2004.03.24 16:21:02" s="374" n="."/>
    <d p="rwxr-xr-x" a="2005.05.04 23:03:46" 
    ? m="2005.05.04 22:13:41" s="1938"n=".."/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 01:13:43" s="6148"n=".DS_Store"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:41:46" s="173" n="build.xml"/>
    <d p="rwxr-xr-x" a="2005.04.30 11:34:27" 
    ? m="2004.03.24 01:13:43" s="544" n="docs"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.21 18:41:58" s="641" n="input.xml"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.23 23:41:15" s="3587"n="main.xsl"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:37:10" s="184" n="Makefile"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:36:41" s="3869"n="MyGenerator.class"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:36:33" s="5265"n="MyGenerator.java"/>
    <d p="rwxr-xr-x" a="2005.04.30 11:34:25" 
    ? m="2004.03.24 00:20:07" s="272" n="output"/>
</xml>

如果認(rèn)為目錄列表顯示的信息太多了,可以(比方說(shuō))去掉目錄節(jié)點(diǎn),如清單 4 所示。

清單 4. 不含目錄節(jié)點(diǎn)的列表
% xml ls | xml ed -d "http://d"
<?xml version="1.0"?>
<xml>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 01:13:43" s="6148" n=".DS_Store"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:41:46" s="173" n="build.xml"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.21 18:41:58" s="641" n="input.xml"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.23 23:41:15" s="3587" n="main.xsl"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:37:10" s="184" n="Makefile"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:36:41" s="3869" n="MyGenerator.class"/>
    <f p="rw-r--r--" a="2005.03.24 17:53:52" 
    ? m="2004.03.24 00:36:33" s="5265" n="MyGenerator.java"/>
</xml>

使用編輯命令(ed)從 XML 中去掉了 d 節(jié)點(diǎn)。ls 命令把目錄輸出到標(biāo)準(zhǔn)輸出。管道符(|)將標(biāo)準(zhǔn)輸出重定向到編輯命令的標(biāo)準(zhǔn)輸入,編輯命令從列表中刪除 d 節(jié)點(diǎn)。使用 XPath 表達(dá)式 //d 指定 d 節(jié)點(diǎn),它和樹(shù)中所有層次上的 d 節(jié)點(diǎn)匹配。如果要更加準(zhǔn)確,可以使用 /xml/d。

現(xiàn)在,假設(shè)要?jiǎng)h除 am 屬性(如清單 5 所示)。

清單 5. 刪除 a 和 m 屬性的目錄列表
% xml ls | xml ed -d "http://d" -d "http://@a" -d "http://@m" -d "http://@p"
<?xml version="1.0"?>
<xml>
    <f s="6148" n=".DS_Store"/>
    <f s="173" n="build.xml"/>
    <f s="641" n="input.xml"/>
    <f s="3587" n="main.xsl"/>
    <f s="184" n="Makefile"/>
    <f s="3869" n="MyGenerator.class"/>
    <f s="5265" n="MyGenerator.java"/>
</xml>

現(xiàn)在更簡(jiǎn)潔了,清單中只剩下了文件,文件節(jié)點(diǎn)中只能看到文件的大小和名稱。為了更便于跟蹤,可以將結(jié)果保存在一個(gè)名為 ls.xml 的文件中。也可使用 rename 編輯函數(shù)將 f 標(biāo)簽修改為 file(如清單 6 所示)。

清單 6. 顯示大小和文件名屬性的目錄列表
% cat ls.xml | xml ed -r "http://f" -v "file"
<?xml version="1.0"?>
<xml>
    <file s="6148" n=".DS_Store"/>
    <file s="173" n="build.xml"/>
    <file s="641" n="input.xml"/>
    <file s="3587" n="main.xsl"/>
    <file s="184" n="Makefile"/>
    <file s="3869" n="MyGenerator.class"/>
    <file s="5265" n="MyGenerator.java"/>
</xml>

此外,如果標(biāo)簽和屬性不愿意使用短名字如 sn,可以分別將其修改為 sizename(如圖 7 所示)。

清單 7. 使用 file 標(biāo)簽的目錄列表
% cat ls.xml | xml ed -r "http://f" -v "file" -r "http://@s" -v "size" -r "http://@n" -v "name"
<?xml version="1.0"?>
<xml>
    <file size="6148" name=".DS_Store"/>
    <file size="173" name="build.xml"/>
    <file size="641" name="input.xml"/>
    <file size="3587" name="main.xsl"/>
    <file size="184" name="Makefile"/>
    <file size="3869" name="MyGenerator.class"/>
    <file size="5265" name="MyGenerator.java"/>
</xml>

這樣讀起來(lái)更容易了。到現(xiàn)在還沒(méi)有寫(xiě)一行 XSLT、Perl 或 Java 代碼。將該文件保存為 ls2.xml。

回頁(yè)首

驗(yàn)證

新的目錄列表看起來(lái)不錯(cuò),那么是不是仍然有效呢?清單 8 說(shuō)明了如何來(lái)進(jìn)行判斷。

清單 8. 檢查 XML 的良構(gòu)性
% xml val ls2.xml
ls2.xml - valid

啊,是有效的。就是說(shuō)它是結(jié)構(gòu)良好的,即標(biāo)簽是平衡的、字符編碼是正確的等等。但是仍然可能缺少必要的標(biāo)簽或者正確的標(biāo)簽。為此必須知道文件的正確結(jié)構(gòu),因此需要一個(gè)模式。只有用模式檢查 XML 文檔并且通過(guò)之后才能說(shuō)它是有效的。

清單 9 顯示了 XML 目錄列表文件的基本 RELAX NG 模式。

清單 9. RELAX NG 模式
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="" xmlns=http:///ns/structure/1.0
datatypeLibrary="http://www./2001/XMLSchema-datatypes">
  <start>
    <element name="xml">
      <oneOrMore>
        <element name="file">
          <attribute name="name">
            <data type="NMTOKEN"/>
          </attribute>
          <attribute name="size">
            <data type="integer"/>
          </attribute>
        </element>
      </oneOrMore>
    </element>
  </start>
</grammar>

RELAX NG 讀起來(lái)很容易。最上面的 element 標(biāo)簽定義了 xml 作為基本標(biāo)簽。然后,xml 標(biāo)簽中的 oneOrMore 標(biāo)簽被命名為 filesize。

ls2.xml 文件對(duì)于這個(gè)新的模式有效嗎?請(qǐng)參閱清單 10。

清單 10. 用模式檢查
% xml val -e -r ls.rng ls2.xml
ls2.xml - valid

如果您像我一樣 —— 只有看到錯(cuò)誤才會(huì)滿足,那么可以在 ls3.xml 文件中的一個(gè)文件節(jié)點(diǎn)中添加屬性 someAttribute,然后再檢查該文件(參見(jiàn)清單 11)。

清單 11. 用模式檢查錯(cuò)誤的文件
% xml val -e -r ls.rng ls3.xml
ls3.xml:4: element file: Relax-NG validity error : 
? Invalid attribute someAttribute for element file
ls3.xml - invalid

結(jié)果證明失敗了。不但要知道文件是結(jié)構(gòu)良好的,還要知道所有的標(biāo)簽和屬性都是正確的。

回頁(yè)首

文本

還可以使用選擇函數(shù)從 XML 提取數(shù)據(jù)元素。清單 12 中的例子從 XML 目錄中提取文件名作為普通文本。

清單 12. 提取文件名
% xml sel -t -m "/xml/file" -v "concat(@name,'
')" ls2.xml
.DS_Store
build.xml
input.xml
main.xsl
Makefile
MyGenerator.class
MyGenerator.java

這里要注意兩點(diǎn)。首先,提取文件名的 XPath 是 /xml/file 條款。其次使用 -v 選項(xiàng)的輸出說(shuō)名用回車(chē)換行連接 file 標(biāo)簽中的 name 屬性。

現(xiàn)在增加 -s 選項(xiàng),按照 size 屬性對(duì)文件排序(參見(jiàn)清單 13)。 A:N:- 語(yǔ)法告訴 XMLStarlet 按照數(shù)值大小遞增排序。(這里將 size 參數(shù)添加到 concat 語(yǔ)句中以便能正常工作。)

清單 13. 列表排序
% xml sel -t -m "/xml/file" -s A:N:- "@size" -v "concat 
? ( @name,':',@size,'
' ) " ls2.xml
build.xml:173
Makefile:184
input.xml:641
main.xsl:3587
MyGenerator.class:3869
MyGenerator.java:5265
.DS_Store:6148

回頁(yè)首

牛刀小試

為了讓 xml 命令做點(diǎn)實(shí)際工作,可以使用它解析一份交通報(bào)告。 Yahoo!? Maps 提供了交通服務(wù),可以使用 curl 命令和 -g 選項(xiàng)(表示 GET)通過(guò) RSS 下載最新的交通信息。比如在清單 14 中,通過(guò)添加 ?csz=94101 參數(shù)指定了我的郵政編碼,于是得到了舊金山最新的交通報(bào)告。

清單 14. 舊金山的交通報(bào)告(RSS)
% curl -g "http://maps.yahoo.com/traffic.rss?csz=94101" –s
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>Yahoo! Maps Traffic -- San Francisco,  CA 94101</title>
<link>http://us.rd.yahoo.com/maps/mapresults/trfrssarea/*
? http://maps.yahoo.com/maps_result?csz=
? San+Francisco%2C++CA+94101&country=
? us&lat=37.775&lon=
? -122.4183&trf=1&mag=5</link>
<category>Traffic</category>
<description>Yahoo! Maps Traffic -- 
? San Francisco,  CA 94101</description>
<language>en-us</language>
<ttl>3</ttl>
<lastBuildDate>Fri, 06 May 2005 16:33:59 -0700<
? /lastBuildDate>
<pubDate>Fri, 06 May 2005 18:31:27 CDT<
? /pubDate>
<copyright>Copyright (c) 2005 Yahoo! Inc. 
? All rights reserved.</copyright>
<item>
<title>
Incident, On I-580 At Seminary Ave
</title>
<description>
Traffic Collision, Severity: Major, Started: 04:20pm 05/06/05, 
? Estimated End: 04:50pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
</description>
<link>http://us.rd.yahoo.com/maps/mapresults/trfrssitem/*
? http://maps.yahoo.com/maps_result?csz=
? San+Francisco%2C++CA+94101&mlt=
? 37.778234&mln=-122.168438&lat=
? 37.775&lon=-122.4183&trf=
? 1&exctrf=1&mag=4</link>
<pubDate>Fri, 06 May 2005 16:20:00 -0700</pubDate>
<category>Incident </category>
<severity>Major</severity>
<endDate>Fri, 06 May 2005 16:50:00 -0700</endDate>
<updatedDate>Fri, 06 May 2005 16:25:00 -0700<
? /updatedDate>
</item>
...

現(xiàn)在可以將 curl 命令的輸出通過(guò) XMLStarlet 命令去除其中的描述部分(如清單 15 所示)。

清單 15. 通過(guò) XMLStarlet 處理的交通 RSS
% curl -g "http://maps.yahoo.com/traffic.rss?csz=94101" 
? -s | xml sel -t -m "/rss/channel/item/description" -v "."
Traffic Collision, Severity: Major, Started: 04:20pm 05/06/05, 
? Estimated End: 04:50pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
Disabled Vehicle, Severity: Moderate, Started: 04:20pm 05/06/05, 
? Estimated End: 04:50pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
Disabled Vehicle, Severity: Moderate, Started: 04:19pm 05/06/05, 
? Estimated End: 04:49pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
Pedestrian On The Roadway, Severity: Critical, 
? Started: 04:17pm 05/06/05, 
? Estimated End: 04:47pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
Traffic Collision, Severity: Major, Started: 04:15pm 05/06/05, 
? Estimated End: 04:45pm 05/06/05, 
? Last Updated: 04:25pm 05/06/05
...

-m 選項(xiàng)從每個(gè)項(xiàng)中取出描述,然后使用 -v 選項(xiàng)通過(guò)句點(diǎn)(.)輸出節(jié)點(diǎn)中的文本。

回頁(yè)首

結(jié)束語(yǔ)

本文粗略地介紹了這種強(qiáng)大的 XML 工具。有時(shí)間的話,不妨試一試 XMLStarlet 的 XSLT 轉(zhuǎn)換功能、方便的轉(zhuǎn)義和取消轉(zhuǎn)義功能以及 XML 格式化功能等等。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多