我可以将文件以外的任何内容传递给 SimpleXmlIterator 吗?

发布于 2024-09-30 16:04:32 字数 74 浏览 7 评论 0原文

我正在尝试将 XML 字符串转换为数组。 SimpleXmlIterator 仅接受文件路径作为参数。有什么办法可以代替传递字符串吗?

I am trying to convert an XML string into and array. SimpleXmlIterator only accepts a path to a file as a parameter. Is there any way I can pass a string instead?

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

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

发布评论

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

评论(3

你爱我像她 2024-10-07 16:04:32

根据文档:

SimpleXMLIterator::__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )

因此这会加载一个字符串:

$it = new SimpleXMLIterator ($xml_string);

这会加载一个文件:

$it = new SimpleXMLIterator ($xml_filename, 0, true);

According to the documentation:

SimpleXMLIterator::__construct ( string $data [, int $options [, bool $data_is_url [, string $ns [, bool $is_prefix ]]]] )

Therefore this loads a string:

$it = new SimpleXMLIterator ($xml_string);

This loads a file:

$it = new SimpleXMLIterator ($xml_filename, 0, true);
笙痞 2024-10-07 16:04:32

你在哪里看到的? SimpleXMLIterator 将字符串作为 XML 数据接受到 构造函数 默认情况下...您可以通过设置第三个参数在第一个参数中向其传递文件名参数为 true,但默认为 false...

并且 asXml() 有一个可选的 $filename 参数,但如果你愿意,你可以将其保留,它会返回一个字符串......

Where do you see that? SimpleXMLIterator accepts a string as XML data to the constructor by default... You can pass it a filename in the first parameter by setting the third parameter to true, but it defaults to false...

And asXml() has an optional $filename parameter, but you can leave it off if you want and it'll return a string...

静待花开 2024-10-07 16:04:32

ctor 签名

SimpleXMLIterator::__construct ( 
    string $data [, 
        int $options [, 
            bool $data_is_url [, 
                string $ns [, 
                    bool $is_prefix ]]]] )

这样你应该能够传入两者:通过更改 $data_is_url 来获取字符串和文件:

默认情况下,data_is_url 为 FALSE。使用 TRUE 指定数据是 XML 文档的路径或 URL,而不是字符串数据。

另请参阅 PHP 手册中关于 SimpleXmlIterator 的 第一个用户贡献的注释 有关如何将 XML 转换为数组的示例。该示例使用了一个文件,但是您应该知道,根据您的需要调整它应该没有问题。

The ctor signature is

SimpleXMLIterator::__construct ( 
    string $data [, 
        int $options [, 
            bool $data_is_url [, 
                string $ns [, 
                    bool $is_prefix ]]]] )

so you should be able to pass in both: a string and a file by changing $data_is_url:

By default, data_is_url is FALSE. Use TRUE to specify that data is a path or URL to an XML document instead of string data.

Also, see the first user-contributed comment in the PHP Manual for SimpleXmlIterator for an example how to turn XML into an array. The example uses a file, but you should have no problems adapting this to your needs know.

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