以下是shell代码:
create_xml.sh
#! /bin/bash
#author: dengzhaoqun
#date: 201202/14
outfile=out
tabs=0
put(){
echo '<'${*}'>' >> $outfile
}
put_head(){
put '?'${1}'?'
}
out_tabs(){
tmp=0
tabsstr=""
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文件如下
<?xml version=1.0 encoding="GBK"?>
<投递信息>
<硬件>
<网卡 value="1"/>
</硬件>
</投递信息>