我有一些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++;
}
}
Run Code Online (Sandbox Code Playgroud)
?>
$ 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++;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2713 次 |
| 最近记录: |