有沒有辦法從包含所有 <IMG_ALTERNATIVE> 值的 xml 檔案創建一個陣列,以便我可以在其他函式中使用它們?xml 看起來像這樣:
<SHOP>
<SHOPITEM>
<ITEM_ID>item id</ITEM_ID>
<SKU>item SKU </SKU>
<PRODUCT>Product name</PRODUCT>
<DESCRIPTION>Item descirption</DESCRIPTION>
<URL>
https://www.itemurl.com/item
</URL>
<IMGURL>
https://www.itemurl.com/itemimg.jpg
</IMGURL>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg2.jpg
</IMG_ALTERNATIVE>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg3.jpg
</IMG_ALTERNATIVE>
我在 php 中以這種方式決議 xml:
foreach ($xml as $item) {
$data[md5($item->URL->__toString())] = ['item_id' => null,
'title' => $item->PRODUCT->__toString(),
'text' => $item->DESCRIPTION->__toString(),
'item_url' => $item->URL->__toString(),
'img_url' => $item->IMG_URL->__toString(),
'img_alt' => $item->IMG_ALTERNATIVE->__toString()
];
}
uj5u.com熱心網友回復:
使用此代碼
<?php
$xmlstring = "
<xml>
<SHOP>
<SHOPITEM>
<ITEM_ID>item id</ITEM_ID>
<SKU>item SKU </SKU>
<PRODUCT>Product name</PRODUCT>
<DESCRIPTION>Item descirption</DESCRIPTION>
<URL>
https://www.itemurl.com/item
</URL>
<IMGURL>
https://www.itemurl.com/itemimg.jpg
</IMGURL>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg2.jpg
</IMG_ALTERNATIVE>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg3.jpg
</IMG_ALTERNATIVE>
</SHOPITEM>
</SHOP>
</xml>
";
$array = array();
$xml = new SimpleXMLElement($xmlstring);
foreach ($xml->SHOP->SHOPITEM as $element) {
foreach($element as $key => $val) {
array_push ( $array,"{$key}: {$val}");
}
}
print_r($array);
https://3v4l.org/0igDF
uj5u.com熱心網友回復:
考慮過使用正則運算式嗎? https://3v4l.org/uatdY
$ls = "<SHOP>
<SHOPITEM>
<ITEM_ID>item id</ITEM_ID>
<SKU>item SKU </SKU>
<PRODUCT>Product name</PRODUCT>
<DESCRIPTION>Item descirption</DESCRIPTION>
<URL>
https://www.itemurl.com/item
</URL>
<IMGURL>
https://www.itemurl.com/itemimg.jpg
</IMGURL>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg2.jpg
</IMG_ALTERNATIVE>
<IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg3.jpg
</IMG_ALTERNATIVE>";
preg_match_all('/<IMG_ALTERNATIVE>\r?\n(.*)\r?\n<\/IMG_ALTERNATIVE>/', $ls, $matches);
print_r($matches);
結果:
Array
(
[0] => Array
(
[0] => <IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg2.jpg
</IMG_ALTERNATIVE>
[1] => <IMG_ALTERNATIVE>
https://www.itemurl.com/itemimg3.jpg
</IMG_ALTERNATIVE>
)
[1] => Array
(
[0] => https://www.itemurl.com/itemimg2.jpg
[1] => https://www.itemurl.com/itemimg3.jpg
)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/434200.html
