用PHP

时间:2017-02-16 08:20:19

标签: php mysql xml

我有一个格式为

的xml文件
<DevInfo>

  <SoftwareVer>1.2.3.4.5.6</SoftwareVer>

  <HardWareVer>V001</HardWareVer>

  <BiosVer>T15121501</BiosVer>

  ...

</DevInfo>

我需要从xml文件中提取硬件版本,并使用php和mysql将其放在另一个表的字段device_status.hardware_version中。我还需要提取bios版本和软件版本,并将它们放在device_status表中的字段中。

我有其他xml文件,其中包含我需要提取到device_status表中其他字段的元素。例如:

<GSensor>

   <id>2</id>

   <value>200</value>

   ...

 </GSensor>

此参数与前一个示例略有不同,因为值的含义取决于id。例如,如果id为0,则该值指定x传感器值,id为1指定y传感器值。我将根据id更新device_status表中的x_sensor或y_sensor。

我如何确定哪个值在device_status表中的位置?

我正在考虑使用一个桥接表来指定XML文件中值的路径,如果它具有id,则指向id的路径,然后将其与device_status表中的字段名称结合。字段类似于:

  • value_path
  • identifier_path
  • identifier_value
  • status_fieldname

更新的字段名称

  • identifier_key
  • identifier_value
  • value_key
  • device_status_fieldname

另一种选择是将device_status表中的字段命名为DevInfo__SoftwareVer,我可以在一步中将路径结合起来。我反对这个选项,因为它会产生不整齐的字段名称,并且当涉及XML ID时它也会变得更加不整洁。

我需要在一个PHP文件中考虑这两种格式。

更新

PHP思考过程:

  • 从XML中提取标题并查询具有该标题的条目的桥接表(xmlparam_devicestatus)
  • 使用identifier_key查找XML文件中的标识符值
  • 从结果集中查找具有该标识符值的记录,并检索value_key以从XML文件中提取所需的值
  • 检索记录的status_fieldname并使用从XML文件中提取的值更新device_status中的该字段

我试图强调这一点,如果某些事情没有意义,请请求解释。我认为桥接表是最好的方式,但任何建议仍然是受欢迎的。

0 个答案:

没有答案