博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关XMLStarlet
阅读量:4030 次
发布时间:2019-05-24

本文共 3323 字,大约阅读时间需要 11 分钟。

何时使用

shell下处理xml文件的一个可选方案(个人觉得比使用python、php处理xml方案好,感觉与shell下其它小工具能更好的整合与协作)

阅读建议

有XML、XPATH的基础,这里有快餐教教程 

相关资源

1)官方网址,
2)使用介绍,官方 
3)使用介绍,又是IBM上的文章;

在ubuntu下的安装

最简单的方式:sudo apt-get install xmlstarlet

使用事例

1)使用说明,具体man xmlstartlet

2)于xml格式列表某个目录信息

3)提取xml文件中的某些内容

xmlstarlet sel  的用法

luogw@ubuntu:~$ xmlstarlet sel --helpXMLStarlet Toolkit: Select from XML document(s)Usage: xmlstarlet sel 
{

提取内容:每行显示一行内容

处理的xml文档如下:
123
first string
346
second string
-23
third string
处理结果如下:
luogw@ubuntu:/media/disk1/research/xmlStarlet$ xmlstarlet sel -T -t -m /xml/table/rec -v "concat(@id, '|', numField,'|', stringField)" -n  table.xml1|123|first string2|346|second string3|-23|third string
对等的xsl文件如下:使用 -C 选项
luogw@ubuntu:/media/disk1/research/xmlStarlet$ xmlstarlet sel -C -T -t -m /xml/table/rec -v "concat(@id, '|', numField,'|', stringField)" -n  table.xml
你可能感兴趣的文章
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
Django 的Error: [Errno 10013]错误
查看>>
机器学习实战之决策树(一)
查看>>
[LeetCode By Python] 2 Add Two Number
查看>>
python 中的 if __name__=='__main__' 作用
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[LeetCode By Python]9. Palindrome Number
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]107. Binary Tree Level Order Traversal II
查看>>
[LeetCode By Python]108. Convert Sorted Array to Binary Search Tree
查看>>
[leetCode By Python]111. Minimum Depth of Binary Tree
查看>>
[LeetCode By Python]118. Pascal's Triangle
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>