代码之家  ›  专栏  ›  技术社区  ›  nsilva

将xml提要拆分为两个不同的php文件

  •  -2
  • nsilva  · 技术社区  · 6 年前

    我有以下XML文件:

    http://services.jupix.co.uk/api/get_properties.php?clientID=553a6644a7dc21df315c90e0140ad60d&passphrase=324dd464aa7ba96ad0e8ab6d8f423162

    我需要做的是获取这些数据并将其拆分为两个不同的php文件。

    <property> 你会看到:

    <department>Sales</department>
    

    <department>Lettings</department>
    

    这些是我需要它分割的领域。

    知道我怎么做吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Gordon Haim Evgi    6 年前

    DOMDocument 和xpath:

    $dom = new DOMDocument;
    $dom->load($url);
    $xpath = new DOMXPath($dom);
    $properties = $xpath->evaluate('/properties/property[not(department="Sales")]');
    foreach ($properties as $property) {
        $property->parentNode->removeChild($property);
    }
    echo $dom->save('Sales.xml');
    

    这将把XML从远程URL加载到DOMDocument中,并从不包含department为“sales”的元素的属性中删除所有属性项。然后将生成的文档保存到sales.xml文件中。

    对于点字,你只需修改XPath并保存文件来代替销售。

    您还可以使用simplexml或xmlreader+xmlwriter或xsl转换轻松完成这项工作。不过,我会把它留给其他人张贴。