Я хотел бы использовать данные варианта xml с приведенным ниже разделом без каких-либо вариантов.
<Root>
<Products>
<Product>
<Code>1472</Code>
<Title>Same title...</Title>
<Desc>Same title...</Desc>
<Pictures><Picture>https://a5bd.jpg</Picture></Pictures>
<Stocks>
<Stock>
<Quantity>5</Quantity>
<StockCode>1152White</StockCode>
<Attribute name="COLOR">WHITE</Attribute>
<Attribute name="SIZE">S</Attribute>
</Stock>
<Stock>
<Quantity>0</Quantity>
<StockCode>1152White</StockCode>
<Attribute name="COLOR">WHITE</Attribute>
<Attribute name="SIZE">M</Attribute>
</Stock>
</Stocks>
</Product>
</Products>
Шаблон, который я хочу получить, выглядит следующим образом:
<Root>
<Products>
<Product>
<ProductCode>1152White-S</ProductCode>
<Title>Same title...</Title>
<Desc>Same title...</Desc>
<Picture>https://a5bd.jpg</Picture>
<Quantity>5</Quantity>
</Product>
<Product>
<ProductCode>1152White-M</ProductCode>
<Title>Same title...</Title>
<Picture>https://a5bd.jpg</Picture>
<Desc>Same title...</Desc>
<Quantity>0</Quantity>
</Product>
</Products>
</Root>
Я был бы рад, если вы поделитесь своими мыслями.
$url = 'https://xxmladdress.org';
$xml = simplexml_load_file($url);
$echo = "<products>";
$list = $xml->Products->Product;
for ($i = 0; $i < count($list); $i++) {
$echo .= "<ProductCode>". $list[$i]->Stocks->Stock->StockCode ."-". $list[$i]->Stocks->Stock->Attribute->SIZE ."</ProductCode>";
$echo .= "<Title>". $list[$i]->Title ."</Title>";
$echo .= "<Desc>". $list[$i]->Desc ."</Desc>";
$echo .= "<Picture>". $list[$i]->Pictures->Picture ."</Picture>";
$echo .= "<Quantity>". $list[$i]->Stocks->Stock->Quantity ."</Quantity>";
}
$echo .= "</products>";
header("Content-Type: text/xml");
echo $echo;
Какой метод мне следует использовать?
Я пытался изменить это здесь с помощью "str_replace": Attribute name = "SIZE"> S на этот раз следующий знак помешал мне сделать что-либо: "