将巨大的XML转换为PHP数组

时间:2017-07-13 08:18:12

标签: php xml

我正在开始实习,我真的需要你的一些帮助,在查看和思考我的问题后,我无法找到解决方法。我想将xml文件转换为php数组,以便我可以将我的数据插入到SQL数据库中。 (这将使我们能够轻松控制一些事情)

以下是我的xml:

 <?xml version="1.0" encoding="UTF-8"?>
<a att1="aa" att2="ab" att3="ac" att8="ad">
    <b>value</b>
    <c>
       <d>value</d>
       <d>value</d>
    </c>
    <e>value</e>
    <f att1="ae" att2="af">value</f>
    <f att1="ag">value</f>
    <g att1="ah" att5="ai">
        <h att1="aj">
           <i>value</i>
           <j>value</j>
        </h>
        <k att1="ak">value</k>
        <l att1="al">value</l>
        <m att1="am">value</m>
        <n att1="an">value</n>
    </g>
    <o att1="ao" att5="ap">
        <h att1="aq">
           <i>value</i>
           <j>value</j>
        </h>
        <k att1="ar">value</k>
        <l att1="as">value</l>
        <m att1="at">value</m>
        <n att1="au">value</n>
    </o>
    <p>
        <q att1="av">value</q>
        <r att1="aw">value</r>
        <s att1="ax">value</s>
        <t att1="ay">value</t>
    </p>
    <u>
        <v>value</v>
    </u>
    <w>value</w>

我尝试了很多在网上找到的方法,但到目前为止效率最高的是

$xml = file_get_contents($fileName);
$ob = simplexml_load_string($xml);
$json = json_encode($ob);
$configData = json_decode($json, true);
... and here i treat my php array

这段代码的问题以及我在堆栈上发现的所有问题(例如来自Parsing Huge XML Files的答案)是在过程中丢失了很多属性,所以我不能有ll我们在数据库中需要的信息。

如果有人知道如何保留所有属性并将其看起来像xml一样变成可用的数组,我会问我的膝盖让他帮助我,因为我真的生气了:o

提前致谢!

0 个答案:

没有答案