免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2445 | 回复: 3
打印 上一主题 下一主题

shell对xml文件操作有什么好办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-20 11:57 |只看该作者 |倒序浏览
设计到对多个xml文件进行element的读取和列表。有人做过么?
举个例子,
多个xml文件里面都有
<article>
        <title>xxx</titlel>
</article>

通过shell读取,然后合并到一起,再生成一个新的xml,但是其他元素不变。
<article>
        <title>aaa</titlel>
</article>
<article>
        <title>bbb</titlel>
</article>

论坛徽章:
0
2 [报告]
发表于 2006-11-20 12:33 |只看该作者
如果格式异常简单,没有特例,那么可以用shell实现
如果有可能格式复杂,因为shell的命令所使用的正则表达式都不支持跨行匹配,所以用shell来解决这个问题就绕圈子了。
用perl来作这个工作最直接、简单。perl的XMLOM模块是专门处理XML文件的。

论坛徽章:
0
3 [报告]
发表于 2006-11-20 16:52 |只看该作者
偶倒是觉得,用PHP写Scripts也很方便,功能强大,而且,跨平台,

论坛徽章:
0
4 [报告]
发表于 2006-11-20 20:51 |只看该作者
胡乱写了下...可能对格式要求比较严格..我尽量让他健壮点...

  1. #!/bin/sh

  2. sed -n '/<article>/{
  3. N;
  4. /\n[[:space:]]*<title>/{
  5.     N;
  6.     /<article>.*<\/article>/p
  7.     }
  8. D;
  9. n
  10. }'
复制代码



这小段代码能把一个xml文件中,你要的东西拿出来.
你可以用for file in $*把这些信息都>>tmpfile中.
然后用sed 在指定文件的指定位置用r命令把tmpfile粘贴进来~~~~

大思路如此^_^  我想有这个东西(只要能正确的跑出结果)后面就不难了吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP