你好我正在编写xml文件使用我得到卷曲响应为xml格式。它的样式表已经包含为.xsl格式,但是当我在浏览器中打开xml时,它不会显示为视觉样式格式。请看下面是我的xml我在xml文件中写的内容。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-website/stylesheets/HTMLConsignmentNoteRenderer.xsl" type="text/xsl"?>
<CONSIGNMENTBATCH>
<BARCODEURL>/barbecue/barcode?type=code39&height=70&width=1&data=</BARCODEURL>
<HOST>https://express.tnt.com</HOST>
<IMAGESDIR>/expresswebservices-website/rendering/images</IMAGESDIR>
<CONSIGNMENT originCountry="AU" marketType="INTERNATIONAL">
<HEADER last="true">
<SHIPMENTDATE>29/01/2018</SHIPMENTDATE>
<SENDER>
<COMPANYNAME><![CDATA[Sender Co 01-008]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT1]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT2]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT3]]></STREETADDRESS3>
<CITY><![CDATA[Hoppers Crossing]]></CITY>
<POSTCODE>3029</POSTCODE>
<COUNTRY>AUSTRALIA</COUNTRY>
<CONTACTNAME><![CDATA[Mr Contact]]></CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>30017823</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME><![CDATA[Collection Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT4]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT5]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT6]]></STREETADDRESS3>
<CITY><![CDATA[Hoppers Crossing]]></CITY>
<POSTCODE>3029</POSTCODE>
<COUNTRY>AUSTRALIA</COUNTRY>
<CONTACTNAME><![CDATA[Mr Contact]]></CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME><![CDATA[Receiver Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT7]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT8]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT9]]></STREETADDRESS3>
<CITY><![CDATA[Amsterdam]]></CITY>
<POSTCODE>1100 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME><![CDATA[Mr Frank]]></CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@mail.com</CONTACTEMAIL>
<VAT>7668880</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME><![CDATA[Delivery Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT10]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT11]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT12]]></STREETADDRESS3>
<CITY><![CDATA[Amsterdam]]></CITY>
<POSTCODE>1100 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME><![CDATA[Mr Frank]]></CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@mail.com</CONTACTEMAIL>
<VAT>7668880</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">0.649</TOTALVOLUME>
<TOTALWEIGHT units="kg">3.60</TOTALWEIGHT>
<CUSTOMERREF><![CDATA[DISKS]]></CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE161714365AU</CONNUMBER>
<SERVICE>48N Economy Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1><![CDATA[assorted office accessories]]></GOODSDESC1>
<TOTALITEMS>6</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST><![CDATA[Delivery Instructions TEST]]></DELIVERYINST>
<OPTION1></OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
有关使用样式表显示my xml的任何建议。如果xml到html的显示方式有可能吗?
我使用php作为curl的后端脚本来获得高于xml的响应。
答案 0 :(得分:0)
您可以使用DOMDocument
和属于PHP的XSLProcessor
<?php
$strXML='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-website/stylesheets/HTMLConsignmentNoteRenderer.xsl" type="text/xsl"?>
<CONSIGNMENTBATCH>
<BARCODEURL>/barbecue/barcode?type=code39&height=70&width=1&data=</BARCODEURL>
<HOST>https://express.tnt.com</HOST>
<IMAGESDIR>/expresswebservices-website/rendering/images</IMAGESDIR>
<CONSIGNMENT originCountry="AU" marketType="INTERNATIONAL">
<HEADER last="true">
<SHIPMENTDATE>29/01/2018</SHIPMENTDATE>
<SENDER>
<COMPANYNAME><![CDATA[Sender Co 01-008]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT1]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT2]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT3]]></STREETADDRESS3>
<CITY><![CDATA[Hoppers Crossing]]></CITY>
<POSTCODE>3029</POSTCODE>
<COUNTRY>AUSTRALIA</COUNTRY>
<CONTACTNAME><![CDATA[Mr Contact]]></CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>30017823</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME><![CDATA[Collection Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT4]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT5]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT6]]></STREETADDRESS3>
<CITY><![CDATA[Hoppers Crossing]]></CITY>
<POSTCODE>3029</POSTCODE>
<COUNTRY>AUSTRALIA</COUNTRY>
<CONTACTNAME><![CDATA[Mr Contact]]></CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME><![CDATA[Receiver Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT7]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT8]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT9]]></STREETADDRESS3>
<CITY><![CDATA[Amsterdam]]></CITY>
<POSTCODE>1100 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME><![CDATA[Mr Frank]]></CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@mail.com</CONTACTEMAIL>
<VAT>7668880</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME><![CDATA[Delivery Name]]></COMPANYNAME>
<STREETADDRESS1><![CDATA[TEST DO NOT COLLECT10]]></STREETADDRESS1>
<STREETADDRESS2><![CDATA[TEST DO NOT COLLECT11]]></STREETADDRESS2>
<STREETADDRESS3><![CDATA[TEST DO NOT COLLECT12]]></STREETADDRESS3>
<CITY><![CDATA[Amsterdam]]></CITY>
<POSTCODE>1100 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME><![CDATA[Mr Frank]]></CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@mail.com</CONTACTEMAIL>
<VAT>7668880</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">0.649</TOTALVOLUME>
<TOTALWEIGHT units="kg">3.60</TOTALWEIGHT>
<CUSTOMERREF><![CDATA[DISKS]]></CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE161714365AU</CONNUMBER>
<SERVICE>48N Economy Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1><![CDATA[assorted office accessories]]></GOODSDESC1>
<TOTALITEMS>6</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST><![CDATA[Delivery Instructions TEST]]></DELIVERYINST>
<OPTION1></OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>';
$xml = new DOMDocument;
$xml->loadXML( $strXML );
$xsl = new DOMDocument;
$xsl->load('https://express.tnt.com/expresswebservices-website/stylesheets/HTMLConsignmentNoteRenderer.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
?>
可以通过生成自己的xsl样式表并调整路径来纠正缺少可渲染徽标。您可以找到tweaked xsl file here〜将副本保存到您的网络服务器并在处理中使用
$xslt=__DIR__ . '/tntxsl.xsl';/* saved copy of tweaked xsl file */
$xml = new DOMDocument;
$xml->loadXML( $strXML );
$xsl = new DOMDocument;
$xsl->load( $xslt );
$proc = new XSLTProcessor;
if( !$proc->hasExsltSupport() ) {
exit('NO XSLT support');
}
$proc->importStyleSheet( $xsl );
echo $proc->transformToXML( $xml );