【发布时间】:2018-09-16 18:27:33
【问题描述】:
我正在努力在具有静态唯一 ID 的 XML 文件中附加一个子节点。
我正在使用的 XML 提要托管在其他地方的服务器上,只能通过其 URL 访问。
所说的提要遵循这种模式:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property>
<title>Some Sunny Place</title>
<address>Some Building, Somewhere, Really Nice</address>
</property>
<property>
<title>Some Rainy PLace Place</title>
<address>Some Gutter, Somewhere, Not So Nice</address>
</property>
</properties>
我想要实现的是使用提要中的 URL 将唯一 id 添加到“属性”节点并在备用 URL 处输出 XML 提要。
例如example.com/proeprty-feed 包含没有 ID 的提要。使用 PHP 添加 ID 并将提要输出到 something.com/property-feed
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property upid=123456>
<title>Some Sunny Place</title>
<address>Some Building, Somewhere, Really Nice</address>
</property>
<property upid=abcdef>
<title>Some Rainy PLace Place</title>
<address>Some Gutter, Somewhere, Not So Nice</address>
</property>
</properties>
我试过的是input.php
<?php
$xmlstr = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property>
<title>Some Sunny Place</title>
<address>Some Building, Somewhere, Really Nice</address>
</property>
<property>
<title>Some Rainy PLace Place</title>
<address>Some Gutter, Somewhere, Not So Nice</address>
</property>
</properties>
XML;
?>
还有output.php
<?php
include 'input.php';
$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('upid', uniqid('prop-'));
echo $sxe->asXML();
?>
但是这个输出:
<properties upid="prop-5ac7c06a39ddd">
<property>
<title>Some Sunny Place</title>
<address>Some Building, Somewhere, Really Nice</address>
</property>
<property>
<title>Some Rainy PLace Place</title>
<address>Some Gutter, Somewhere, Not So Nice</address>
</property>
</properties>
【问题讨论】:
-
请发布您目前拥有的代码并描述什么不起作用。
-
唯一ID应该从哪里来?
-
请阅读How to Ask。