gpt4 book ai didi

php - 如何将 XML 文件转换为 SimpleXMLElement() 数组?

转载 作者:行者123 更新时间:2023-12-04 06:42:57 24 4
gpt4 key购买 nike

我有一个 XML 文件:

<?xml version="1.0" encoding="iso-8859-1"?>
<deadlines>
<deadline>
<date>2010-07-01</date>
<text>Residency Application for Fall Due</text>
</deadline>
<deadline>
<date>2010-06-01</date>
<text>Residency Application for Summer Due</text>
</deadline>
<deadline>
<date>2010-07-20</date>
<text>Summer Bill Due</text>
</deadline>
</deadlines>

当我使用 simplexml_load_file() 将文件加载到 PHP 脚本中时,我得到以下信息:
SimpleXMLElement Object
(
[deadline] => Array
(
[0] => SimpleXMLElement Object
(
[date] => 2010-07-01
[text] => Residency Application for Fall Due
)

[1] => SimpleXMLElement Object
(
[date] => 2010-06-01
[text] => Residency Application for Summer Due
)

[2] => SimpleXMLElement Object
(
[date] => 2010-07-20
[text] => Summer Bill Due
)

)

)

为了让我的脚本将 XML 文件作为数组处理,我需要解析文件并将其转换为以下格式:
Array
(
[0] => SimpleXMLElement Object
(
[date] => 2010-07-01
[text] => Residency Application for Fall Due
)

[1] => SimpleXMLElement Object
(
[date] => 2010-06-01
[text] => Residency Application for Summer Due
)

[2] => SimpleXMLElement Object
(
[date] => 2010-07-20
[text] => Summer Bill Due
)

)

是否有用于转换 XML 文件的 PHP 函数?谢谢

最佳答案

$deadlines = array();
$sxe = new SimpleXmlElement($xml);
foreach($sxe->deadline as $deadline) {
$deadlines[] = $deadline;
}
print_r($deadlines);

或者
$sxe = (array) new SimpleXmlElement($xml);
print_r( $sxe['deadline'] );

编辑 抱歉,我假设您对 SimpleXml 足够熟悉,知道 constructor of SimpleXmlElement assumes you are passing the XML as a string .要么更改要读取的行
$sxe = new SimpleXmlElement($filename, NULL, TRUE);

或将其替换为
$sxe = simplexml_load_file($filename);

关于php - 如何将 XML 文件转换为 SimpleXMLElement() 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4024455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com