Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Bash's script to parse XML

Shulou Source: shulou.com Published: 2022-06-03 06:47:07 09月10日 Update

ParseXmlFile.sh

#! / bin/bash

Usage ()

{

Echo "Usage:. / parseXmlFile.sh"

Exit 1

}

List_all_entity ()

{

Local IFS=\ >

While read-d\

< ENTITY CONTENT do echo $ENTITY done < $1 } list_all_content() { local IFS=\>

While read-d\

< ENTITY CONTENT do echo $CONTENT done < $1 } list_all_tag_name() { local IFS=\>

While read-d\

< ENTITY CONTENT do TAG_NAME=${ENTITY%% *} echo $TAG_NAME done < $1 } list_all_attributes() { local IFS=\>

While read-d\

< ENTITY CONTENT do ATTRIBUTES=${ENTITY#* *} echo $ATTRIBUTES done < $1 } getattr() { ATTR_PAIR=${1#*$2=\"} echo "${ATTR_PAIR%%\"*}" } get_attributes_value() { local IFS=\>

While read-d\

< ENTITY CONTENT do TAG_NAME=${ENTITY%% *} ATTRIBUTES=${ENTITY#* *} if [[ $TAG_NAME == $2 ]] then value=`getattr ${ATTRIBUTES} ${3}` echo $value fi done < $1 } get_content_value() { local IFS=\>

While read-d\ < ENTITY CONTENT

Do

TAG_NAME=$ {ENTITY%% *}

If [[$TAG_NAME = = $2]]

Then

Echo $CONTENT

Fi

Done < $1

}

# main in this shell

If [$#-ne 1]

Then

Usage

Fi

If [!-f $1]

Then

Echo "fail to load data from file, file $1 not exist!"

Exit 1

Fi

List_content $1

Tags: Script Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi Shulou Technology Shulou Tech Info macOS Linux