Php 如何添加';id';基于其他元素值的XML元素属性

Php 如何添加';id';基于其他元素值的XML元素属性,php,simplexml,Php,Simplexml,非常感谢关于如何实现以下结果的帮助-能够使用PHP代码片段或任何方法将id属性添加到标记 <?xml version="1.0" encoding="utf-8"?> <root> <property> <images> <image id="1"> <url>http://www.mywebsite/image?id=1&.jpg<

非常感谢关于如何实现以下结果的帮助-能够使用PHP代码片段或任何方法将
id
属性添加到
标记

<?xml version="1.0" encoding="utf-8"?>
<root>
    <property>
        <images>
            <image id="1">
                <url>http://www.mywebsite/image?id=1&.jpg</url>
            </image>
            <image id="2">
                <url>http://www.mywebsite/image?id=2&.jpg</url>
            </image>
        </images>
    </property>
</root> 

http://www.mywebsite/image?id=1&.jpg
http://www.mywebsite/image?id=2&.jpg

我想您应该创建与上面相同的xml

$array = array(
        "http://www.mywebsite/image?id=1&.jpg",
        "http://www.mywebsite/image?id=2&.jpg"
);

header('Content-Type:text/plain');
$xml = new SimpleXMLElement("<root></root>");
$property = $xml->addChild('property');
$images = $property->addChild('images');

foreach($array as $link) {
    parse_str(parse_url($link, PHP_URL_QUERY), $query);

    $image = $images->addChild('image');
    $image->addAttribute("id", $query['id']);
    $url = $image->addChild("url", urlencode($link));
}

echo $xml->asXML();
$array=array(
"http://www.mywebsite/image?id=1&.jpg",
"http://www.mywebsite/image?id=2&.jpg"
);
标题(“内容类型:文本/普通”);
$xml=新的SimpleXMLElement(“”);
$property=$xml->addChild('property');
$images=$property->addChild('images');
foreach($array as$link){
parse_str(parse_url($link,PHP_url_QUERY),$QUERY);
$image=$images->addChild('image');
$image->addAttribute(“id”,$query['id']);
$url=$image->addChild(“url”,urlencode($link));
}
echo$xml->asXML();

我想您应该创建与上面相同的xml

$array = array(
        "http://www.mywebsite/image?id=1&.jpg",
        "http://www.mywebsite/image?id=2&.jpg"
);

header('Content-Type:text/plain');
$xml = new SimpleXMLElement("<root></root>");
$property = $xml->addChild('property');
$images = $property->addChild('images');

foreach($array as $link) {
    parse_str(parse_url($link, PHP_URL_QUERY), $query);

    $image = $images->addChild('image');
    $image->addAttribute("id", $query['id']);
    $url = $image->addChild("url", urlencode($link));
}

echo $xml->asXML();
$array=array(
"http://www.mywebsite/image?id=1&.jpg",
"http://www.mywebsite/image?id=2&.jpg"
);
标题(“内容类型:文本/普通”);
$xml=新的SimpleXMLElement(“”);
$property=$xml->addChild('property');
$images=$property->addChild('images');
foreach($array as$link){
parse_str(parse_url($link,PHP_url_QUERY),$QUERY);
$image=$images->addChild('image');
$image->addAttribute(“id”,$query['id']);
$url=$image->addChild(“url”,urlencode($link));
}
echo$xml->asXML();

如果您正在读取字符串,则可以循环
并向每个
添加
id
属性

注意:由于URL中的
&
,您的XML抛出错误,因此我将它们替换为
&为了一个工作示例


如果正在读取字符串,则可以循环
并将
id
属性添加到每个

注意:由于URL中的
&
,您的XML抛出错误,因此我将它们替换为
&为了一个工作示例


@Bada感谢您的及时回复(对于PHP和Xml环境来说是非常新的),我没有向您提供足够的信息,因为大多数PHP代码目前正在生成我需要的正确simplexml文档,包括这个PHP代码,它只需要在每个图像标记中添加id=“1”属性(显示的2个重复10次)@Bada感谢您的及时回复(对于PHP&Xml环境来说是非常新的),我没有向您提供足够的信息,因为大多数PHP代码目前正在生成我需要的正确simplexml文档,包括这个PHP代码,它只需要在每个图像标记中添加id=“1”属性(显示的2个重复10次)感谢您非常及时的回复(对于PHP和Xml环境来说是非常新的),我没有向您提供足够的信息,因为大多数PHP代码目前正在生成我需要的正确simplexml文档,包括这个PHP代码,它只需要在每个图像标记中添加id=“1”属性(显示的2个重复10次)感谢您非常及时的回复(对于PHP和Xml环境来说是非常新的),我没有向您提供足够的信息,因为大多数PHP代码目前正在生成我需要的正确simplexml文档,包括这个PHP代码,它只需要在每个图像标记中添加id=“1”属性(显示的2个重复10次)
$xml = simplexml_load_file('path/to/file.xml');