我在PHP端,有获取了一个变量$reqxml,里面是有值的,具体如下(通过断点调试查看):
<?xml version="1.0" encoding="utf-8"?>
<reqs><dbreq sid="/dbreq" rid="data" table="prt_news_category" query="select"><fields><col n="*"><![CDATA[]]></col></fields><filter><cond><![CDATA[(geo_code=0 or geo_code=68304896) and column_type=1 and status='1'and category_code=67108864]]></cond></filter></dbreq></reqs>
现在我要把这个xml格式的字符串通过socket传输到java端去处理,用的是fwrite($socket, $reqxml),但是在java端获取的只有这个xml字符串的头部
<?xml version="1.0" encoding="utf-8"?>
于是我把这个xml字符串用print_r($reqxml);输出到页面不能显示,但代码里面有值;
为了排除是java端不能识别xml字符串,我在java端断点调试的时候看出java端获取的值确实是只有头部;同时,在php端,如果我把断点里面的$reqxml的值,也就是
<?xml version="1.0" encoding="utf-8"?>
<reqs><dbreq sid="/dbreq" rid="data" table="prt_news_category" query="select"><fields><col n="*"><![CDATA[]]></col></fields><filter><cond><![CDATA[(geo_code=0 or geo_code=68304896) and column_type=1 and status='1'and category_code=67108864]]></cond></filter></dbreq></reqs>
用字符串形式赋给变量$reqxml,结果传到java端的就是完整的数据。这个问题用了很久都没有解决,希望在csdn上的各位朋友都够帮忙解决下,只要能把$reqxml这个字符串完全传输到java端就可以了。问题很急,希望大家能尽量帮忙!谢谢各位。
<?xml version="1.0" encoding="utf-8"?>
<reqs><dbreq sid="/dbreq" rid="data" table="prt_news_category" query="select"><fields><col n="*"><![CDATA[]]></col></fields><filter><cond><![CDATA[(geo_code=0 or geo_code=68304896) and column_type=1 and status='1'and category_code=67108864]]></cond></filter></dbreq></reqs>
现在我要把这个xml格式的字符串通过socket传输到java端去处理,用的是fwrite($socket, $reqxml),但是在java端获取的只有这个xml字符串的头部
<?xml version="1.0" encoding="utf-8"?>
于是我把这个xml字符串用print_r($reqxml);输出到页面不能显示,但代码里面有值;
为了排除是java端不能识别xml字符串,我在java端断点调试的时候看出java端获取的值确实是只有头部;同时,在php端,如果我把断点里面的$reqxml的值,也就是
<?xml version="1.0" encoding="utf-8"?>
<reqs><dbreq sid="/dbreq" rid="data" table="prt_news_category" query="select"><fields><col n="*"><![CDATA[]]></col></fields><filter><cond><![CDATA[(geo_code=0 or geo_code=68304896) and column_type=1 and status='1'and category_code=67108864]]></cond></filter></dbreq></reqs>
用字符串形式赋给变量$reqxml,结果传到java端的就是完整的数据。这个问题用了很久都没有解决,希望在csdn上的各位朋友都够帮忙解决下,只要能把$reqxml这个字符串完全传输到java端就可以了。问题很急,希望大家能尽量帮忙!谢谢各位。
$reqxml = xxxx_get();
#此时调试发现有值#中间处理#那么, 请在这个点, 也就是fwrite之前调试看看数据是否完整, 这样来确定问题在fwrite时发生. 再来定位.
fwrite($sock, $reqxml);
#这里发送到java端数据就不完整了注意fwrite上面的注释, 先确认下问题在哪里, 再来看..
最好给一个完整的php文件,显示$reqxml是怎样初始化的,"输出到页面不能显示"是什么意思?我用下面的php文件测试,没发现问题。<html>
<body>
<?php
$a = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<reqs><dbreq sid=\"/dbreq\" rid=\"data\" table=\"prt_news_category\" query=\"select\"><fields><col n=\"*\"><![CDATA[]]></col></fields><filter><cond><![CDATA[(geo_code=0 or geo_code=68304896) and column_type=1 and status='1'and category_code=67108864]]></cond></filter></dbreq></reqs>";
print_r($a);
?>
</body>
</html>