专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > ColdFusion

真诚请问一个cf修改xml的有关问题

发布时间:2010-06-14 17:30:23 文章来源:www.iduyao.cn 采编人员:星星草
真诚请教一个cf修改xml的问题
本人初学,请大家指点!

原xml文件:
XML code
<?xml version="1.0" encoding="utf-8"?>
  <root Name="root">
       <child Name="child1" Expression="1000&lt;1&gt;1001&lt;11&gt;/>
       <child Name="child2" Expression="1000&lt;2&gt;1001&lt;22&gt;/>
  </root>


显示页面,显示节点child1的属性expression的一部分值:
HTML code
<cfset ThisPath="#getDirectoryFromPath(getTemplatePath())#">
<cffile action="read" charset="utf-8" 
file="#ThisPath#1.xml" variable="myXMLFile">
<cfset XMLDoc=XMLParse(myXMLFile)>
<cfset item=XMLDoc.XMLroot.XMLChildren[1]>
   <form action="edittest.cfm" method="post" >
      <input name="sExpression" value="<cfoutput>#item.XMLAttributes["Expression"]#</cfoutput>"/>
      <input type="submit" name="Submit" value="修改" />
    </form>


显示程序运行结果如预期:1000<1>1001<11> (xml转义符:"<"对应于&lt; ">"对应于&gt;)

现需要在显示结果上面修改节点child1的属性expression的一部分值,如将1000后面的1改为3,即目标xml的节点内容为: <child Name="child1" Expression="1000&lt;3&gt;1001&lt;11&gt;/>
   
edittest.cfm:
HTML code
<cfset ThisPath="#getDirectoryFromPath(getTemplatePath())#">
<cffile action="read" charset="utf-8" 
file="#ThisPath#1.xml" variable="myXMLFile">
<cfset XMLDoc=XMLParse(myXMLFile)>
<cfscript>
XMLDoc.XMLroot.XMLChildren[1].XMLAttributes["Expression"]= "#form.sExpression#";
</cfscript>
<cffile action="write" addnewline="no" 
charset="utf-8" file="#1.xml" 
output="#toString(XMLDoc)#">
<cfoutput>成功修改xml文件!</cfoutput>


修改程序运行结果:
1、 xml文件的属性Expression内容变为1000&lt;3>1001&lt;11> 而不是预想的1000&lt;3&gt;1001&lt;11&gt; ("<"转义成了&lt;而">"没有转义&gt;,不知什么原因,而我要的xml必须完成转义才能用!)请高人指点
2、 有没有直接取Expression里要修改部分的方法,如直接取出1进行修改,而不用取出expression整个部分了,这样方便与界面交互

------解决方案--------------------
看来只能使用replace来处理了。
HTML code
<cfset form.sExpression = replace(form.sExpression, ">","&gt;","all")>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • 3D MAX导出MD2,delphi开发,该如何处理

    3D MAX导出MD2,delphi开发 我用dilphi开发3D游戏,想用3D MAX导出MD2建立关键针动画,然后用dilphi调用关键针,可是现在出现2个问...

  • coldfusion如何整合框架

    coldfusion怎么整合框架? 如题coldfusion怎么整合框架? 有没有例子 谁给讲解下,谢谢! ------解决方案-------------------- 其实,在...

  • coldfusion的正则表达式中文支持如何样

    coldfusion的正则表达式中文支持怎么样? coldfusion的正则表达式中文支持怎么样?有没有问题?我用的的是coldfusion 9 因为要用的一...

  • 求教解决办法

    求教 请问,哪里有GLscene的中文教程,视频也可.谢谢 ------解决方案-------------------- http://technology.jfcms.net/cx/Delp...

  • Provider '80020005',该怎么解决

    Provider '80020005' Provider '80020005' 类型不匹配。 \admin\add_products.asp, line 167 <!--#include file="../i...

  • 小弟我们打开一个网页的原理是什么

    我们打开一个网页的原理是什么? 我觉得是服务器端传输一个文档过来,然后由ie(或者其它的)编译,呈现我们面前的就是我们打开的网页了 -...

  • 小弟我想循环输出一个 cfgrid

    我想循环输出一个 cfgrid rt ------解决方案-------------------- cfgrid有个query属性的。 ------解决方案-----------------...

  • coldfusion解决方案

    coldfusion cf中上传可以控制大小吗?如何控制? ------解决方案-------------------- 上传前可以先得到文件大小,之后再决定是否要上...

  • C# 发送一个网页邮件 如何做

    C# 发送一个网页邮件 怎么做 我用System.Net.Mail;做的,可是它的属性就那么几个。怎么办? ------解决方案-------------------- M...

  • coldfusion 9 连接Access出错?该怎么处理

    coldfusion 9 连接Access出错??? 各位大侠帮忙看看,为何我用coldfusion 9 连接Access时,显示OK,连接Access unicode时却出现以下错误信...

热门推荐: