php - 从 SimpleXMLElement 对象获取值

标签 php xml parsing simplexml

您好,我有以下 XML 片段:

......
            <Result number="4" position="1" points="25">
                <Driver driverId="button" url="http://en.wikipedia.org/wiki/Jenson_Button">
                    <GivenName>Jenson</GivenName>
                    <FamilyName>Button</FamilyName>
                    <DateOfBirth>1980-01-19</DateOfBirth>
                    <Nationality>British</Nationality>
                </Driver>
......

我可以使用以下内容轻松获取 GivenName:

$item->Driver->GivenName;

但是当我使用时:

$item->Driver->FamilyName;

我得到 SimpleXMLElement 对象 ()

我环顾四周,发现这可能与将它传递给字符串有关,但随后我在屏幕上什么也看不到。甚至不是 SimpleXMLElement 对象。

我不明白,因为它是 GivenName 的 sibling ,而且有效。

最佳答案

在这两种情况下您都会得到一个 SimpleXMLElement 对象,如果您使用 print_r() 就会看到它:

print_r ($item->Driver->GivenName);
print_r ($item->Driver->FamilyName);

输出:

SimpleXMLElement Object
(
    [0] => Jenson
)
SimpleXMLElement Object
(
    [0] => Button
)

您可以使用显式转换将值作为字符串获取:

$givenNameString = (string) $item->Driver->GivenName;
$familyNameString = (string) $item->Driver->FamilyName;

关于php - 从 SimpleXMLElement 对象获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070083/

相关文章:

ruby - Mechanize : get() throws exception

java - 在动画背景中更改按钮背景?

c# - 序列化列表对象为XML值异常: There was an error reflecting type "..Otrx"

php xml dom getElementById 和 DOMXpath 查询获取元素失败

php - 无法为从数据库回显消息的 <td> 设置最大高度

sql - 你如何读取 SQL Server 2008 中的 XML 列?

parsing - 使用给定信息解析字符串

mysql - 使用 Ruby 迭代 JSON 并插入到 MySQL 数据库

php - 如何查询表并输出平均值、总和、位置、

javascript - AngularJS 从 Laravel 数据库中删除数组项