从 SimpleXML 对象中提取属性

发布于 2024-11-14 23:44:18 字数 916 浏览 2 评论 0原文

如何从此 xml 对象中提取属性

<designs>
    <tags>
    .
    .
    .
    </tags>
    <templates>
        <template id="photographysite" image="http://example.com/en/previews/photographysitePreview434x326.jpg" name="Shutter" thumb="http://example.com/en/previews/photographysitePreview182x137.jpg">
            <tag>all</tag>
            <tag>featured</tag>
            <tag>personal</tag>
            <tag>portfolio</tag>
            <tag>photography</tag>
            <tag>business</tag>
        </template>
    </templates>
</designs>

如果我将每个对象视为 $template,那么此语法将不起作用。

foreach ($xmldoc->templates as $template) {
    $attributes = $template->attributes();
        echo '<img src="' . $attributes['thumb'] . '" />';
}

How do I extract attributes from this xml object

<designs>
    <tags>
    .
    .
    .
    </tags>
    <templates>
        <template id="photographysite" image="http://example.com/en/previews/photographysitePreview434x326.jpg" name="Shutter" thumb="http://example.com/en/previews/photographysitePreview182x137.jpg">
            <tag>all</tag>
            <tag>featured</tag>
            <tag>personal</tag>
            <tag>portfolio</tag>
            <tag>photography</tag>
            <tag>business</tag>
        </template>
    </templates>
</designs>

If I consider each object as $template, then this syntax wont work.

foreach ($xmldoc->templates as $template) {
    $attributes = $template->attributes();
        echo '<img src="' . $attributes['thumb'] . '" />';
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

非要怀念 2024-11-21 23:44:18
foreach($template->foo[0]->attributes() as $a => $b):

http://php.net/manual/en/simplexmlelement.attributes.php

foreach($template->foo[0]->attributes() as $a => $b):

http://php.net/manual/en/simplexmlelement.attributes.php

叹梦 2024-11-21 23:44:18

您可以使用数组表示法访问各个属性,例如

foreach ($xmldoc->templates->template as $template) {
    echo '<img src="', $template['thumb'], '"/>';
}

请参阅 http ://www.php.net/manual/en/simplexml.examples-basic.php#example-4587

You can access individual attributes using the array notation, e.g.

foreach ($xmldoc->templates->template as $template) {
    echo '<img src="', $template['thumb'], '"/>';
}

See http://www.php.net/manual/en/simplexml.examples-basic.php#example-4587

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文