2013-03-22 55 views
0

编辑:我不认为最终输出看起来像JSON。如果不是,那是什么?将JSON数据放入PHP中的变量中

我有这样的代码:

$url = 'http://eligibility.sc.egov.usda.gov/eligibility/eligibilityservice?eligibilityType=Property&requestString=<?xml version="1.0"?><Eligibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/var/lib/tomcat5/webapps/eligibility/Eligibilitywsdl.xsd"><PropertyRequest StreetAddress1="'.$street.'" StreetAddress2="" StreetAddress3="" City="'.$city.'" State="'.$state.'" County="" Zip="'.$zip.'" Program="RBS"></PropertyRequest></Eligibility>'; 
$url_arr = explode('requestString=', $url); 
$xml = simplexml_load_string($url_arr[ 1 ]); // requires allow_url_fopen to be on 
$elg = (string)$xml->Property[Eligibility]; 

var_dump($xml); 

$xml = simplexml_load_file($url); // requires allow_url_fopen to be on 
$elg = json_encode((string)$xml->Property[Eligibility]); 

var_dump($elg); 

哪出把这个数组:

object(SimpleXMLElement)#1 (1) { 
    ["PropertyRequest"]=> object(SimpleXMLElement)#2 (1) { 
     ["@attributes"]=> array(8) { 
      ["StreetAddress1"]=> string(13) "7865 ILLINOIS" 
      ["StreetAddress2"]=> string(0) "" 
      ["StreetAddress3"]=> string(0) "" 
      ["City"]=> string(10) "CASEYVILLE" 
      ["State"]=> string(2) "IL" 
      ["County"]=> string(0) "" 
      ["Zip"]=> string(5) "62232" 
      ["Program"]=> string(3) "RBS" 
     } 
    } 
} 
string(12) ""InEligible"" 

我只是想抓住string(12) ""InEligible""部分。我怎么会把这个变成一个变量?

回答

1

从你的代码$elg已经拥有这个值,它是一个变量。

+0

为什么它向我展示所有其他的东西? – Plummer 2013-03-22 14:45:35

+0

@tPlummer:看起来像你忘记了'var_dump($ xml);'在第6行... – 2013-03-22 14:47:07

0

编辑:我不认为最终的输出看起来像JSON。如果不是,那是什么?

string(12) ""InEligible"" 

这是JSON。 JSON中的字符串用引号引起来,不多不少。