嗨,这是我的简单代码:
$xml = new SimpleXMLElement('<p:FatturazioneElettronica xmlns:p="http://microsoft.com/wsdl/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://dummy.com"/>');
$xml->addAttribute("versione","FPR12");
$FatturaElettronicaHeader = $xml->addChild('FatturaElettronicaHeader',null,'http://dummy.com');
xml结果是:
<p:FatturazioneElettronica xmlns:p="http://microsoft.com/wsdl/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://dummy.com" versione="FPR12">
<FatturaElettronicaHeader>
<DatiTrasmissione>
....
如何在xml“ xml-stylesheet”的顶部添加?
<?xml-stylesheet type="text/xsl" href="fatturapa_v1.2.xsl" ?>
答案 0 :(得分:3)
除了简单的事情以外,SimpleXML并不擅长做其他事情(认为这很贴切)。我能想到的唯一方法是使用DOMDocument,它提供了更丰富的API,您应该可以按照以下步骤进行操作...
$xmlD = new DOMDocument( "1.0", "ISO-8859-15" );
$xmlD->appendChild($xmlD->createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="fatturapa_v1.2.xsl"'));
$xmlD->appendChild($xmlD->importNode(dom_import_simplexml($xml)));
echo $xmlD->saveXML();
这将创建一个新的DOMDocument实例,然后添加一些内容。首先,它使用createProcessingInstruction()
添加样式表的处理指令。然后,它导入您的SimpleXML文档的现有内容(在$xml
中),并将其附加到末尾。 echo
应该给您一个类似...的文件。
<?xml version="1.0" encoding="ISO-8859-15"?>
<?xml-stylesheet type="text/xsl" href="fatturapa_v1.2.xsl"?>
<p:FatturazioneElettronica xmlns:p="http://microsoft.com/wsdl/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://dummy.com" versione="FPR12"/>