站长资源脚本专栏

shell生成简单格式的xml实例

整理:jimmy2025/1/10浏览2
简介以下是shell代码:create_xml.sh复制代码 代码如下:#! /bin/bash#author: dengzhaoqun#date: 201202/14outfile=outtabs=0put(){ echo '<'${*}'>' >> $outfile}put_h

以下是shell代码:
create_xml.sh
复制代码 代码如下:
#! /bin/bash

#author: dengzhaoqun
#date: 201202/14

outfile=out
tabs=0

put(){
 echo '<'${*}'>' $outfile
}

put_head(){
 put '""
 while [ $tmp -lt $((tabs)) ]
 do
  tabsstr=${tabsstr}'\t'
  tmp=$((tmp+1))
 done
 echo -e -n $tabsstr $outfile
}

tag_start(){
 out_tabs
 put $1
 tabs=$((tabs+1))
}

tag_end(){
 tabs=$((tabs-1))
 out_tabs
 put '/'${1}
}

tag_value(){
 out_tabs
 str=""
 str=${1}' value="'${2}'"/'
 put $str
}

以下是测试代码:
ts_xml.sh
复制代码 代码如下:
#! /bin/bash

#author: dengzhaoqun
#date: 20120215

source './create_xml.sh'
put_head 'xml version='1.0' encoding="GBK"'
tag_start '投递信息'
tag_start '硬件'
tag_value '网卡' 1
tag_end '硬件'
tag_end '投递信息'

生成的xml文件如下

复制代码 代码如下:
<"GBK"?>
<投递信息>
 <硬件>
  <网卡 value="1"/>
 </硬件>
</投递信息>