在 PHP 中将 XML 转换为 JSON 时,如何将 @attributes 移动到该元素的根?
我发现将 XML 文件转换为json_encode
. 但是我想摆脱@attributes id
,name
例如直接在根目录下,因为我会将所有内容直接导入数据库以进行操作和计算。(数据是从 7 天到死的好奇)。
我怎样才能轻松地将这些 XML 文件转换为 json,然后我可以将它们导入我的数据库而没有那些丑陋的@attributes?我理解他们的目的,但我在这里不需要他们,如你所见。
小样本:
<block id="1" name="stone">
<property name="Material" value="stone"/>
<property name="Shape" value="Terrain"/>
<property name="Mesh" value="terrain"/>
<property name="Texture" value="1"/>
<property name="ImposterExchange" value="imposterBlock" param1="97"/>
<property name="DropScale" value="2"/>
<property name="LPHardnessScale" value="2"/>
<property name="Weight" value="125"/>
<property name="Map.Color" value="100,100,100"/>
<property class="RepairItems"> <property name="cobblestones" value="6"/> </property>
<property name="HarvestOverdamage" value="true"/> <!-- default=true -->
<drop event="Harvest" name="rockSmall" count="25" tool_category="harvestingTools"/>
<drop event="Harvest" name="ironFragment" count="2" tool_category="harvestingTools"/>
<drop event="Destroy" count="0"/>
<drop event="Fall" name="rockSmall" count="50" prob="0.23" stick_chance="0"/>
<drop event="Fall" name="ironFragment" count="4" prob="0.23" stick_chance="0"/>
<drop event="Fall" name="destroyedStone" count="1" prob="0.1" stick_chance="0.5"/>
<property name="CanMobsSpawnOn" value="true"/>
<property name="EconomicValue" value="5"/>
<property name="EconomicBundleSize" value="1"/>
<property name="SellableToTrader" value="false"/>
</block>
非常小的应该看起来像:
{
id: 1,
name: "stone",
property: [
{
name: "Material",
value: "stone"
},
{
name: "Shape",
value: "Terrain"
}
],
drop: [
{
event: "Harverst",
name: "rockSmall",
count: 25
},
{
event: "Harvest",
name: "ironFragment",
count: 2
}
]
}