使用php从xml上载中提取特定字段

时间:2012-02-28 02:48:27

标签: php xml

我一直试图让id字段拉,并且不知道我哪里出错了。其余数据正确,但我正在尝试为现有代码添加一些新内容,而我尝试过的所有内容都无效。下面是我的XML和我一直在使用的PHP代码。

我之前没有使用过xml和php的组合,所以我真的可以在正确的方向上使用推送。

<?xml version="1.0" encoding="UTF-8"?>
<enterprise>
   <person>
        <sourcedid>
            <source>Spirit Awards</source>
            <id>SP8675309</id>
        </sourcedid>
        <userid>...</userid>
        <name>
            <fn>...</fn>
        </name>
        <email>...</email>
    </person>

PHP代码:

function get_userid(){
    return $this->uid;
}
function __construct($xmlData){
    $this->uid = (string)$xmlData->id;
}

1 个答案:

答案 0 :(得分:0)

SimpleXMLdocs让这......好......简单。您发布的XML缺少结束</enterprise>标记。假设您实际解析的XML包含结束标记,请考虑:

$str = '<?xml version="1.0" encoding="UTF-8"?>
<enterprise>
   <person>
        <sourcedid>
            <source>Spirit Awards</source>
            <id>SP8675309</id>
        </sourcedid>
        <userid>...</userid>
        <name>
            <fn>...</fn>
        </name>
        <email>...</email>
    </person>
</enterprise>
';

$xml = simplexml_load_string($str);
$var = (string) $xml->person->sourcedid->id;
echo $var; // outputs: SP8675309