第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用shellscript解析XML

如何使用shellscript解析XML

翻閱古今 2019-10-29 10:24:44
我想知道使用shellscript解析XML文件的最佳方法是什么?應(yīng)該一個(gè)人手工做嗎?第三層圖書(shū)館是否存在?如果您已經(jīng)做到了,請(qǐng)告訴我您是如何做到的
查看完整描述

3 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以嘗試xmllint


xmllint程序解析一個(gè)或多個(gè)XML文件,這些文件在命令行上指定為xmlfile。根據(jù)選擇的選項(xiàng),它會(huì)打印各種類(lèi)型的輸出。這對(duì)于檢測(cè)XML代碼和XML解析器中的錯(cuò)誤很有用


它允許您使用--pattern選項(xiàng)通過(guò)xpath選擇XML文檔中的元素。


在Mac OS X(Yosemite)上,默認(rèn)情況下已安裝它。

在Ubuntu上,如果尚未安裝,則可以運(yùn)行apt-get install libxml2-utils


查看完整回答
反對(duì) 回復(fù) 2019-10-29
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

這是一個(gè)完整的工作示例。

如果僅提取電子郵件地址,則可以執(zhí)行以下操作:

1)假設(shè)XML文件spam.xml類(lèi)似于


<spam>

<victims>

  <victim>

    <name>The Pope</name>

    <email>pope@vatican.gob.va</email>

    <is_satan>0</is_satan>

  </victim>

  <victim>

    <name>George Bush</name>

    <email>father@nwo.com</email>

    <is_satan>1</is_satan>

  </victim>

  <victim>

    <name>George Bush Jr</name>

    <email>son@nwo.com</email>

    <is_satan>0</is_satan>

  </victim>

</victims>

</spam>

2)您可以使用以下簡(jiǎn)短的bash代碼獲取電子郵件并進(jìn)行處理:


#!/bin/bash

emails=($(grep -oP '(?<=email>)[^<]+' "/my_path/spam.xml"))


for i in ${!emails[*]}

do

  echo "$i" "${emails[$i]}"

  # instead of echo use the values to send emails, etc

done

該示例的結(jié)果是:


0 pope@vatican.gob.va

1 father@nwo.com

2 son@nwo.com

重要說(shuō)明:

請(qǐng)勿將其用于嚴(yán)重問(wèn)題??梢酝嫠?,獲得快速結(jié)果,學(xué)習(xí)grep等,這是可以的,但是您絕對(duì)應(yīng)該尋找,學(xué)習(xí)和使用XML解析器進(jìn)行生產(chǎn)(請(qǐng)參見(jiàn)下面的Micha評(píng)論)。


查看完整回答
反對(duì) 回復(fù) 2019-10-29
  • 3 回答
  • 0 關(guān)注
  • 581 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)