我在做一个使用.NET做的后台服务,Delphi做前台程序开发的技术可行性研究,主要使用了midias的clientdataset,和XMLtransFromProvider,.Net使用的WebService传递回XML包,但是现在遇到一个很古怪的问题,Win2k下的XML parser不能够正确的解析.NET的XML包,于是我在.NET的XML包上面加入了解码信息可以正确解析了,但是如果使用GB2312码的话,问题是正确的中文变成了乱码(Delphi处理的时候)但是IE确能够正确的解析。如果使用UTF-8的话可以正确解析,但是前提是中文字符串不可以在开始或者结束的时候包含空格。我想如果自己写代码解析XML的话那么代码量是很大的,如果想进行RAD开发的话解码信息是必须解决的问题。

解决方案 »

  1.   

    摩托来凑凑热闹~~~
    楼主是不是用delphi7  ?感觉似乎delphi 7 中在这个地方有bug
    我也做过一些测试,聊聊喽~:17812012
      

  2.   

    我感觉不是D7的问题而是XML Parser的问题!
      

  3.   

    ihihonline(小小->爱被下载中……):
    不听话又来灌水。
      

  4.   

    ok~~~[WebMethod]
    public string getdata()
    {
    sqlConnection1.Open();
    sqlDataAdapter2.Fill(dataSet21);
    sqlConnection1.Close();
        return dataSet21.GetXml();
    }关键是客户端生成xtr时,要给xml数据加一个encode
    含中文时:
    <?xml version="1.0" encoding="gb2312"?>
    不含:
    <?xml version="1.0" encoding="utf-8"?>之后:begin
      XMLTransformProvider1.TransformRead.SourceXml :=(HTTPRIO1 as headerSoap).getdata;
      ClientDataSet1.Active :=true;
    end;
      

  5.   

    哈哈,我是即学DELPHI又学C#的哦,HOHO
    还认的我吗?
      

  6.   

    用delphi7 我也遇到这样的问题,gz!
      

  7.   

    对了,忘记了说,我对Delphi和.Net相当感兴趣,只是没有研究你那么深罢了,所以我才取我上面的名字呢,多多学习啦!
      

  8.   

    "我在做一个使用.NET做的后台服务,Delphi做前台程序开发的技术可行性研究"
    这种技术是可行的。这方面我做过一个例子,正准备做一个项目呢。本人觉得这种方法解决跨企业访问是较好的一种解决方案。