如何循环 SimpleXML 对象?

发布于 2024-09-13 17:08:32 字数 1160 浏览 7 评论 0原文

我下载一个带有XML代码的网页:

$xml  = simplexml_load_file($page);

结果是:

SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [Message] => Success
            [Date] => 0001-01-01T00:00:00
        )

    [FUNDAMENTALS] => SimpleXMLElement Object
        (
            [FUNDAMENTAL] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [Symbol] => AAA
                                    [Name] => Description AAA

                                )

                        )

                    [1] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [Symbol] => BBB
                                    [Name] => Description BBB

                                )

                        )
                )
        )
)

我必须读取每个[符号] [名称],我该怎么办?

I download a webpage with a XML code:

$xml  = simplexml_load_file($page);

The results are:

SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [Message] => Success
            [Date] => 0001-01-01T00:00:00
        )

    [FUNDAMENTALS] => SimpleXMLElement Object
        (
            [FUNDAMENTAL] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [Symbol] => AAA
                                    [Name] => Description AAA

                                )

                        )

                    [1] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [Symbol] => BBB
                                    [Name] => Description BBB

                                )

                        )
                )
        )
)

I have to read each [Symbol] [Name], how can I do?

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

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

发布评论

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

评论(2

趴在窗边数星星i 2024-09-20 17:08:32

像这样的东西:

$xml  = simplexml_load_file($page);
foreach ($xml->FUNDAMENTALS->FUNDAMENTAL as $fundamental) {
    $symbol = $fundamental['Symbol'];
    $name = $fundamental['Name'];
}

something like this:

$xml  = simplexml_load_file($page);
foreach ($xml->FUNDAMENTALS->FUNDAMENTAL as $fundamental) {
    $symbol = $fundamental['Symbol'];
    $name = $fundamental['Name'];
}
似最初 2024-09-20 17:08:32

您还可以使用 SimpleXmlIterator

SimpleXMLIterator 提供对 SimpleXMLElement 对象的所有节点的递归迭代。

如果您只想迭代 元素,您可能需要考虑使用 XPath 获取它们,例如,

$fundamentals = $sxe->xpath('//FUNDAMENTAL');

如果您为您的问题提供一些 XML,我将为您提供一个代码示例。

You can also use the SimpleXmlIterator:

The SimpleXMLIterator provides recursive iteration over all nodes of a SimpleXMLElement object.

If you only want to iterate over the <FUNDAMENTAL> elements, you might want to consider fetching them with an XPath, e.g.

$fundamentals = $sxe->xpath('//FUNDAMENTAL');

If you provide some XML to your question, I will provide you with a code example.

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