通过PHP转换XML &Javascript函数

Convert XML Via PHP & Javascript Function

本文关键字:Javascript 函数 XML PHP 转换 通过      更新时间:2023-09-26

不知是否有人能帮我一下。

我有一个xml文件,由大约22,000个操作系统网格引用组成,摘录如下所示。

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
    - <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <Row>
      <Name>Deserted medieval village</Name> 
      <NGR>SS 00000 11111</NGR> 
      </Row>

我需要为每个'NGR'做的是将其转换为Lat &液化天然气的协调。如果我要手动完成,我会将NGR输入到我拥有的HTML表单中,并在单击事件上使用以下Javascript代码(来自nearby.org.uk)来转换它。然后将其保存到mySQL数据库中的一个表中。

function converttolatlng() {
    var gr = document.getElementById('osgridref').value;
    var osgb = new GT_OSGB();

    if (osgb.parseGridRef(gr)) {
        var wgs84 = osgb.getWGS84();
        document.getElementById('osgb36lat').value = wgs84.latitude;
        document.getElementById('osgb36lon').value = wgs84.longitude;
    }
    else {
        document.getElementById('osgb36lat').value = "n/a";
        document.getElementById('osgb36lon').value = "n/a";
    }
}

因为我有这么多,我希望能够自动运行这种转换,从我在互联网上看到的,我认为最好的方法是通过PHP运行xml,但我必须承认我不确定从哪里开始。

我只是想知道是否有人可以看看这个,请告诉我我需要做什么来创建提取过程。

衷心感谢

您是否考虑过使用XML数据库,因为您的输入文档是XML?代码看起来像这样:

for $row in doc("input.xml")//Row
let $coordinates := parseGridRef($row/NGR)
(: assuming parseGridRef implements the conversion :)
return some-insertion-function("some-collection-name",
  <entry>
    <name>{$row}</name>
    <latitude>{$coordinates[1]}</latitude>
    <longitude>{$coordinates[2]}</longitude>
  </entry>)