如何在actionscript中编码保留的XML字符?
我正在用Flex编写一个商业应用程序,它使用web服务与中间层通信。web服务接受并返回XML格式的消息。在许多情况下,我需要允许用户在应用程序中的字段中键入以下内容,这些内容将作为绑定到SOAP web服务的XML有效负载中的元素添加(不带引号): “账户余额<1000”如何在actionscript中编码保留的XML字符?,xml,apache-flex,actionscript,encode,web-services,Xml,Apache Flex,Actionscript,Encode,Web Services,我正在用Flex编写一个商业应用程序,它使用web服务与中间层通信。web服务接受并返回XML格式的消息。在许多情况下,我需要允许用户在应用程序中的字段中键入以下内容,这些内容将作为绑定到SOAP web服务的XML有效负载中的元素添加(不带引号): “账户余额
Flex解析器在尝试在文本节点中用它序列化元素时会阻塞(例如,account balance<1000)。因此我需要某种方法来编码“使用escape和unescape函数
这很好,但是,对字符串进行编码会导致输入比原始字符串长几倍。我调用的服务对相关元素有maxlength约束,显然在计算约束之前,编码的字符串没有被解码。因此,现在我得到了一个架构冲突错误。你知道吗控制该服务?如果控制了,则需要将字符串作为服务中的第一步。如果不控制,则我认为您运气不好。SOAP web服务的消息容器是XML。您的消息不能包含任何会混淆XML解析器的内容。或者删除特殊字符(,&等)或者您更改它们,然后在服务器上重新更改它们。这是标准做法。如果我从WSDL为web服务生成了ActionScript代理,答案会有什么不同吗?事实上,我只是创建了一个XML文档,恰好对应于描述web服务契约的模式。(关于我为什么这样做有一个很长很长的故事。)似乎任何合理的web服务框架都会自动处理保留XML字符的编码/解码……这应该很容易测试。