gpt4 book ai didi

php - 使用 PHP XMLReader 对 XML 树中的所有属性进行排序

转载 作者:可可西里 更新时间:2023-10-31 22:49:45 25 4
gpt4 key购买 nike

我有一些 PHP 代码可以将 XML 文件转换为 CSV 文件。在测试期间,我没有创建 CSV 文件,只是以 CSV 格式回显结果。

只要 XMLReader 到达一个空元素,它就会输出该元素的所有属性。

1) 有没有一种方法可以输出属性名称及其值,即(是否有一个与 $xml->value 一起使用的 $xml->AttributeName)?

2) 有没有办法对整个树中的所有属性进行排序,而不仅仅是空元素中的属性?

<?php 

ini_set('memory_limit','50M');

$x = file_get_contents('H8_data.xml');

$xml = new XMLReader();
$xml->open('H8_data.xml', null, 1<<19);

$num = 1;
while ($xml->read() && $num <= 2000) {
if($xml->isEmptyElement) {
if($xml->hasAttributes) {
while($xml->moveToNextAttribute()) {
echo $xml->value, ', ';
}
}
echo '<br />';
$num++;
}
}

?>

最佳答案

$xml->name 返回节点的限定名称。因为属性是 XMLReader::ATTRIBUTE 类型的节点,$xml->name 在这种情况下将返回当前属性的名称。下面是代码版本,它输出属性名称和值。

<?php 

ini_set('memory_limit','50M');

$x = file_get_contents('H8_data.xml');

$xml = new XMLReader();
$xml->open('H8_data.xml', null, 1<<19);

$num = 1;
while ($xml->read() && $num <= 2000) {
if($xml->isEmptyElement) {
if($xml->hasAttributes) {
while($xml->moveToNextAttribute()) {
echo $xml->name, ' = ', $xml->value, ', ';
}
}
echo '<br />';
$num++;
}
}
?>

关于php - 使用 PHP XMLReader 对 XML 树中的所有属性进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129909/

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