使用SimpleXML使用样式表生成xml文件

时间:2014-09-12 08:39:35

标签: xml simplexml

亲爱的堆栈溢出用户和程序员。 我有一个关于如何为simplexml生成的xml文件添加样式表的问题。 这是我的代码,但我不知道如何为此添加样式表。

$xml = new SimpleXMLElement('<Cart/>');

$Order = $xml->addChild('Person');
$Order->addChild('Name', $_GET['name']);
$Order->addChild('Last-name', $_GET['lname']);
$Order->addChild('E-mail', $_GET['email']);
$Order->addChild('Phone', $_GET['phone']);
$Order->addChild('Date', date('Y-m-d'));
$Order->addChild('Adress', isset($_GET['adress'])&&$_GET['adress'] != NULL?$_GET['adress']:'Not set');
$Products = $xml->addChild('Products');
foreach ($cart as $product_id) {
    foreach($productlist as $list){
        if($list['id'] == $product_id){
            $Cart = $Products->addChild('Product');
            $Cart->addChild('ID', $list['id']);
            $Cart->addChild('Brand', $list['brand']);
            $Cart->addChild('Model', $list['model']);
            $Cart->addChild('Price', $list['price']);
        }
    }
}

Header('Content-type: text/xml');
date_default_timezone_set("Europe/Helsinki");
$xml->asXML('orders/' .date('Y-m-d(H-i-s)'). '.xml');

这是我想在生成的xml文件顶部添加的行。

<?xml-stylesheet type="text/xsl" href="order.xsl" ?>

请一些建议?

2 个答案:

答案 0 :(得分:1)

您可以尝试在根节点

之前添加它
 $xml = new SimpleXMLElement('<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="order.xsl"?><Cart/>');

答案 1 :(得分:0)

你需要写

$xml->addProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="order.xsl"'); 

如何添加您可以在此处查看的功能

SimpleXML insert Processing Instruction (Stylesheet)