我在做一个使用.NET做的后台服务,Delphi做前台程序开发的技术可行性研究,主要使用了midias的clientdataset,和XMLtransFromProvider,.Net使用的WebService传递回XML包,但是现在遇到一个很古怪的问题,Win2k下的XML parser不能够正确的解析.NET的XML包,于是我在.NET的XML包上面加入了解码信息可以正确解析了,但是如果使用GB2312码的话,问题是正确的中文变成了乱码(Delphi处理的时候)但是IE确能够正确的解析。如果使用UTF-8的话可以正确解析,但是前提是中文字符串不可以在开始或者结束的时候包含空格。我想如果自己写代码解析XML的话那么代码量是很大的,如果想进行RAD开发的话解码信息是必须解决的问题。
楼主是不是用delphi7 ?感觉似乎delphi 7 中在这个地方有bug
我也做过一些测试,聊聊喽~:17812012
不听话又来灌水。
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;
还认的我吗?
这种技术是可行的。这方面我做过一个例子,正准备做一个项目呢。本人觉得这种方法解决跨企业访问是较好的一种解决方案。