我有一个 PHP 脚本,它从远程服务器中提取 XML 文件,并使用 simplexml_load_string 和 json_encode 将其转换为 JSON。但是, simplexml_load_string 似乎忽略了内联属性,如下所示:
<AxisFeedrate dataItemId="iid7" timestamp="2012-03-21T15:15:41-04:00" sequence="7" name="Yfrt" subType="ACTUAL" units="MILLIMETER/SECOND">UNAVAILABLE</AxisFeedrate>
在这种情况下,JSON 表示将是 {AxisFeedrate: 'UNAVAILABLE'}
但是,我需要这些属性可用。我一直在接近的一个想法是替换字符串以将属性转换为文本节点,如下所示:
<AxisFeedrate>
<dataItemId>iid7</dataItemId>
<timestamp>2012-03-21T15:15:41-04:00</timestamp>
<sequence>7</sequence>
<name>Yfrt</name>
<subType>ACTUAL</subType>
<units>MILLIMETER/SECOND"</units>
<value>UNAVAILABLE</value>
</AxisFeedrate>
我可以使用常规查找/替换将属性转换为它们自己的标记元素,但是我无法将原始文本值包装在值标记中,至少使用查找/替换时是这样。
有什么好的方法可以做到这一点?上面的 XML 块位于不同数据项的许多相似块的中间,所以我不能只是从将第一个关闭 > 替换为 >...