Php 如何添加';id';基于其他元素值的XML元素属性
非常感谢关于如何实现以下结果的帮助-能够使用PHP代码片段或任何方法将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<
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');