免费注册 查看新帖 |

Chinaunix

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

求思路,处理XML的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-04 16:00 |只看该作者 |倒序浏览
由于是内网, 只有一个XML::Simple模块可以使用。

需求:修改XML文件中的某些个字段。

当前状态:我已经通过$xml = XML::Simple->new(); $doc->$xml->XMLin($file);现在是$doc为整个xml文件的数据结构,我根据散列的key嵌套结构,找到需要修改的字段,修改成功,可以输出到另一个文件中。

问题:我们是需要在原文件中对于字段进行替换,所以输出到另一个文件中就不可以。

我的尝试:
1. 用“+<”打开文件句柄,然后打开同一个文件,似乎不行。
2. 用不同的文件句柄名称指向同一个文件,先是打开,读入数据结构,然后显式的关闭。然后再打开一个文件句柄,指向同一个文件,输入写出,报错。

求教:该怎么实现这类需求?

论坛徽章:
0
2 [报告]
发表于 2014-04-04 16:42 |只看该作者
报什么错?
你思路没什么问题,应该是代码哪里写的不对
另外,还可以考虑:
  1. open F1,"file";
  2. unlink "file";
  3. open F2,"file";
  4. print F2 “something”;
  5. close F2;
  6. close F1;
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-04-04 17:58 |只看该作者
回复 2# sjdy521

谢谢,搞定了,本来还想用 $^I 这个特殊变量,但是似乎我这种从一个数据结构导出的情况,来替换一个文件,确实有点麻烦,所以我就直接生成一个临时文件,然后重命名的。

感谢!!!


   

论坛徽章:
0
4 [报告]
发表于 2014-04-04 19:05 |只看该作者
本帖最后由 sjdy521 于 2014-04-04 19:05 编辑

回复 3# kingfighters
$^I和你做的工作是一样的,不会存在什么麻烦

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP