3 回答

TA贡献1789条经验 获得超8个赞
问题分析:
用C#出错,从错误消息中:The element type "CarOwner" must be terminated by the matching end-tag "</CarOwner>". 说明在读取xml时出错,认为你的xml没有结束标记</CarOwner>
用Java正常,说明xml文件是没有问题的。
只能是在读取XML时采取的字符集不对,导致读取XML是没有读完。并且还可以说明你的XML中肯定是有中文,并且读取结束的地方,就在读取中文后没多远。
修改方案:
Encoding.GetEncoding("GBK") 改用UTF-8

TA贡献1773条经验 获得超3个赞
有中文么,查看编码格式是否正确,你用了GBK,注应该在头里面写清楚,在你的text/xml换成text/xml;charset=utf-8试一试。
至于说到长度的问题,应该不会出现问题的,因为httpclient会处理好的,它会把你写入数据的长度算出来,然后放到http头块里面,这个http协议的实现,你不需要管。你试一下是不是中英文的问题,或者假如你有特殊字符也会出现被中断的问题。

TA贡献1887条经验 获得超5个赞
1、断点检查你的XML是不是真的闭合了;
2、你的ContentType注释掉干嘛?或者你可以直接看StringContent构造函数的第三个是什么,直接设置成text/xml不得了。
然后再试试
添加回答
举报