shell生成简单格式的xml实例

以下是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"/>
 </硬件>
</投递信息>

(0)

相关推荐

  • 利用Shell解析处理XML的方法汇总

    前言 前几天在干活的时候遇到一个需要解析处理xml文件的一个需求,当时考虑到逻辑比较复杂,因此用java慢慢搞了搞.不过这个需求经常会变,每次变化之后都要重新找到jar包的代码,改了之后还要替换原来的jar包,一来不方便修改,二来不方便统一保存代码,三来也不方便查看jar包的功能. 其实对于这种比较灵活的功能,最方便高效的做法是采用一些脚本语言,比如python,ruby等等,开发效率高,而且也能处理一些复杂逻辑.但是由于种种原因,工作中有的机器没有安装这些语言的解释器.因此不得已,研究了一波用

  • shell脚本实现快速生成xml格式sitemap实例分享

    用shell快速生成xml格式的sitemap地图文件,中小型网站适用.在本次案例中,生成12053条URL的sitemap文件,仅用时4.3秒!shell代码如下: 复制代码 代码如下: cat sitemap.txt|awk 'BEGIN{print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset>"}{print "<url>\n<

  • shell生成简单格式的xml实例

    以下是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))

  • Python 生成VOC格式的标签实例

    常用目标检测模型基本都是读取的PASCAL VOC格式的标签,下面代码用于生成VOC格式的代码,根据需要修改即可: from lxml import etree, objectify def gen_txt(filename, h, w, c): E = objectify.ElementMaker(annotate=False) anno_tree = E.annotation( E.folder('VOC_OPEN_IMAGE'), E.filename(filename), E.sourc

  • python生成lmdb格式的文件实例

    在crnn训练的时候需要用到lmdb格式的数据集,下面是python生成lmdb个是数据集的代码,注意一定要在linux系统下,否则会读入图像的时候出问题,可能遇到的问题都在代码里面注释了,看代码即可. #-*- coding:utf-8 -*- import os import lmdb#先pip install这个模块哦 import cv2 import glob import numpy as np def checkImageIsValid(imageBin): if imageBin

  • 如何用C语言生成简单格式的xml

    代码很简单,直接贴了. 复制代码 代码如下: #include <stdio.h> static FILE *out = NULL;      static int tabs = 0; void set_out_fp(FILE *fp)      {          out = fp;      } void put(char *str)      {          fprintf(out, "%s", str);      } void put_head(char

  • Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法

    本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015/4/27 Modified:2015/5/1 @author: guoyJoe """ #导入模块 import MySQLdb import time impor

  • 使用apidocJs快速生成在线文档的实例讲解

    apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用者仅需要按照要求书写相关注释,就可以生成可读性好.界面美观的在线接口文档. 本文主要包含以下内容: 1.介绍apidoc的基本概念 2.安装.使用和简单配置 3.一些特殊参数的含义及其使用 4.介绍一些使用经验 前言 apidoc能做什么? apidoc是一个轻量级的在线REST接口文档生成系统,可以根据其特定的规则的代码注释来生成静态网页.首先看下它生成的文档界

  • PHP简单实现解析xml为数组的方法

    本文实例讲述了PHP简单实现解析xml为数组的方法.分享给大家供大家参考,具体如下: 最近想要做一个插件机制,需要用到xml,在解析xml时候需要转换为数组,特意记录一个此种解析方式 xmlDemo.xml文件: <?xml version="1.0" encoding="UTF-8"?> <main xmlns="http://www.xiaoetongo.cn" versionCode="1.0">

  • XML轻松学习手册(5)XML实例解析

    第五章:XML实例解析 提纲: 一:实例效果 二:实例解析 1.定义新标识. 2.建立XML文档. 3.建立相应的HTML文件. XML在不同领域有着广泛的应用,比如在科技领域的MathML,无线通信应用的WML,在网络图象方面的SVG等等,我们这里侧重讨论XML在web上的应用.XML在web上应用主要是利用其强大的数据操作能力.一般用XML配合javascript和asp等服务器端程序,可以实现网络上几乎所有的应用需求. 考虑讲解方便,我们在下面介绍一个简单的实例,不包含服务器端程序.目的在

  • 从CentOS安装完成到生成词云python的实例

    前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + CentOS7 + Python 2.7.5 安装系统 之前一直用的是win10子系统,现在试试CentOS,CentOS官网下载最新系统dvd版 安装到VMware 12pro.网上很多教程.例如这个链接.等待安装完成后开始. 第一个命令 用Ubuntu的时候没有的命令会提示你安装,感觉很简单的事.但是到CentOS上却变得很

  • layui关闭层级、简单监听的实例

    弹出一个小页面input 代码如下 /*监听工具条*/ table.on('tool(test)', function(obj){ var data = obj.data; /*获得当前行数据*/ var layEvent = obj.event; /*获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)*/ var tr = obj.tr; /*获得当前行 tr 的DOM对象*/ if(layEvent === 'crypto'){//跳转生成秘钥页面 layer.p

随机推荐