Я получил структуру XML, как это:Объединить/переименовать XML с помощью PHP
<OrderLineItems>
<SKU/>
<ItemName>ÁFONYÁS FÁNK</ItemName>
<Quantity>1</Quantity>
<Price>350</Price>
<LineTotal>350</LineTotal>
<Meta/>
</OrderLineItems>
<OrderLineItems>
<SKU/>
<ItemName>CSIRKE SALÁTA ÖNTETTEL</ItemName>
<Quantity>1</Quantity>
<Price>1150</Price>
<LineTotal>1150</LineTotal>
<Meta/>
</OrderLineItems>
Я хочу, чтобы вывести так:
<basket>
<item> ->OrderLineItems
<billitem_code></billitem_code> -> SKU
<billitem_name></billitem_name> -> this will be the ItemName
<billitem_amount></billitem_amount> ->Quantity
<billitem_unitprice></billitem_unitprice> ->Price
</item>
</basket>
мне удалось прочитать XML и вывод некоторых основные линии
$xml -> customer -> name = $orderxml -> Order -> BillingFullName;
Но я уже не смог пройти заказанных товаров, если есть больше чем 1.
Любые предложения по управлению этим?
Текущий КОД:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
header("Content-type:text/xml");
//Load
require "apiclass/database.php";
define("DEFAULT_XML_FILE",dirname(__FILE__).'/default.xml');
//Database
$db = new Database;
//get XML
$order_id = $_GET["order_id"];
$order_file = "xml/order_id-".$order_id.".xml";
//XML
$orderxml = simplexml_load_file($order_file);
$customerid = $orderxml -> Order -> CustomerId;
$xml = simplexml_load_file(DEFAULT_XML_FILE);
//Converting loaded XML to output format
$xml -> customer -> id = $orderxml -> Order -> CustomerId;
$xml -> orderdate = $orderxml -> Order -> OrderDate;
$xml -> customer -> name = $orderxml -> Order -> BillingFullName;
$xml -> customer -> tel = $orderxml -> Order -> BillingPhone;
$xml -> customer -> address -> postalcode = $orderxml -> Order -> BillingPostCode;
$xml -> customer -> address -> city = $orderxml -> Order -> BillingCity;
$xml -> customer -> address -> district = $orderxml -> Order -> BillingState;
$xml -> customer -> address -> street = $orderxml -> Order -> BillingAddress1;
$xml -> customer -> address -> number = $orderxml -> Order -> BillingAddress2;
$xml -> customer -> address -> description = $orderxml -> Order -> CustomerNote;
$xml -> payment_method = $orderxml -> Order -> ShippingMethod;
foreach($orderxml -> Order -> OrderLineItems -> ItemName as $key => $value)
{
$xml -> basket -> item -> billitem_name = $value ;
}
$xml -> deliveryprice = $orderxml -> Order -> FeeTotal;
$xml -> totalprice = $orderxml -> Order -> OrderTotal;
print $xml -> asXML();
//Debuggolás
//echo '<pre>';
//var_dump($xml);
//echo '</pre>';
?>
Пожалуйста показать свой реальный код ... Мы можем помочь вам повышение его – Random
я обновленный с током код. Я полностью не понимаю, как идти, хотя те -s, если их больше 1. –
Проверьте 'SimpleXMLElement :: addChild()'. Но я предлагаю прочитать о XSLT. Это язык, специфический для преобразования документов XML. PHP поддерживает его через ext/xsl. – ThW