📜  将 XML 数据存储到 CSV 的PHP代码

📅  最后修改于: 2022-05-13 01:54:11.349000             🧑  作者: Mango

将 XML 数据存储到 CSV 的PHP代码

在本文中,我们将使用 PHPH 将 XML 数据存储到 CSV 文件中。 XML 代表可扩展标记语言。 XML 类似于 HTML,但在 HTML 中,我们无法定义自己的标签,但在 XML 中,我们可以定义自己的标签。

要求:

XAMPP 服务器。

XML的结构:


  .....
   

示例:我们将保存为student_data.xml文件的学生详细信息保存在 CSV 文件中。

 
 
    
7058 G.sravan kumar
kakumanu
7004 sudheer
usa
7098 Rohith
hyd

CSV: CSV 代表逗号分隔值。

我们将使用一些预定义的函数将 XML 数据存储到 CSV 中。 file_exists() 函数用于检查文件或目录是否存在。

句法:

file_exists(path/filename)
  • 路径是文件所在的路径。
  • 文件名文件的名称。

simplexml_load_file()函数: simplexml_load_file()函数用于将 XML 文档转换为对象。

句法:

simplexml_load_file(file)
  • 文件是文件名

fopen()函数:用于打开文件。

句法:



fopen(filename, mode)
  • 文件名 文件名。
  • 模式是 a (append) ,r (read mode), w (write mode)

fclose()函数:该函数用于关闭打开的文件。

句法:

fclose(file_pointer)

fputcsv()函数: fputcsv()函数用于将行格式化为 CSV(逗号分隔值)文件并将其写入打开的文件。必须读取的文件和字段作为参数发送到 fputcsv()函数,成功时返回写入字符串的长度,失败时返回 FALSE。

句法:

fputcsv(file, fields, separator)
  • file:用于指定要写入的打开文件。
  • fields:需要指定从哪个数组获取数据。
  • 分隔符:它是一个指定字段分隔符的字符。默认为逗号 ( , )

脚步:

  • 启动 XAMPP 服务器。

  • 打开记事本并创建 XML 代码并将其保存为student_details.xml中的xampp/htdocs/geek文件夹。
  • 打开记事本并创建PHP代码并将其保存为xml_code。 PHPxampp/htdocs/geek文件夹中。

XML 数据:以下是文件student_details.xml的内容

student_details.xml
 
 
    
          7058          G.sravan kumar          
kakumanu
    
      
          7004          sudheer          
usa
    
      
          7098          Rohith          
hyd
    
 


PHP
children() as $data) {
        $hasChild = (count($data->children()) 
                        > 0) ? true : false;
  
        // Data is present, then store into
        // csv by using fputcsv function
        if( ! $hasChild) {
            $arr = array($data->getName(),$data); 
            fputcsv($i, $arr ,',','"');
        }
        else {
          
            // Call function
            Csv($data, $i);
        }
    }
}
?>


PHP代码: 以下是文件xml_code的内容。 PHP

PHP

children() as $data) {
        $hasChild = (count($data->children()) 
                        > 0) ? true : false;
  
        // Data is present, then store into
        // csv by using fputcsv function
        if( ! $hasChild) {
            $arr = array($data->getName(),$data); 
            fputcsv($i, $arr ,',','"');
        }
        else {
          
            // Call function
            Csv($data, $i);
        }
    }
}
?>

打开浏览器并输入localhost/geek/xml_code。地址栏中的PHP路径。

转到您的文件夹,您将看到已创建 CSV 文件。

输出:打开 CSV 文件时,将显示以下输出。

CSV 文件