从xml上传中提取一个带有php的特定字段


Pulling a specific field with php out of a xml upload

我一直在尝试获取id字段,但不知道哪里出了问题。其余的数据提取正确,但我正在尝试为一些现有的代码添加一些新的内容,但我尝试的所有内容都不起作用。下面是我的XML和我一直在使用的PHP代码。

我以前从未使用过xml和php的组合,所以我可以真正朝着正确的方向使用push。

<?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;
}

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