我试图生成一个XML文件,通过我正在生成的发票发送。我在字符串中的XML是下一个:
<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:implocal="http://www.sat.gob.mx/implocal" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd" version="3.2" serie="Z" folio="155" fecha="2015-04-06T15:26:14" subTotal="1.00" total="1.32" certificado="" noCertificado="" TipoCambio="1" Moneda="MXN" metodoDePago="no aplica" sello="" tipoDeComprobante="ingreso" formaDePago="no aplica" LugarExpedicion="no aplica">
<cfdi:Emisor rfc="ZFL080519LG0" nombre="ZURITA FLORERIAS S.A. DE C.V.">
<cfdi:DomicilioFiscal calle="Avenida 14 Sur" noExterior="5347" noInterior="B" colonia="Jardines San Manuel" localidad="Puebla" municipio="Puebla" estado="Puebla" pais="México Teléfono 2224974551" codigoPostal="72570" />
<cfdi:ExpedidoEn pais="México" />
<cfdi:RegimenFiscal Regimen="Persona Moral del Regimen General" />
</cfdi:Emisor>
<cfdi:Receptor rfc="GOMA890623M50" nombre="ARANTXA GONZALEZ MENDOZA">
<cfdi:Domicilio calle="NORTE" noExterior="1" noInterior="O" colonia="LA PAZ" localidad="PUEBLA" municipio="PUEBLA" estado="PUEBLA" pais="MEXICO" codigoPostal="00000" />
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto cantidad="1" unidad="NO APLICA" descripcion="NO APLICA" valorUnitario="1.00" importe="1.00" />
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="0.16">
<cfdi:Traslados>
<cfdi:Traslado impuesto="IVA" tasa="16.00" importe="0.16" />
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<implocal:ImpuestosLocales version="1.0" TotaldeRetenciones="0.00" TotaldeTraslados="0.16">
<implocal:TrasladosLocales ImpLocTrasladado="TRASLADADO" Importe="0.16" TasadeTraslado="16.00" />
</implocal:ImpuestosLocales>
</cfdi:Complemento>
</cfdi:Comprobante>
我使用CakePhp Xml::Build($string);
生成XML,但由于某种原因,并非所有变量都经过。我猜测Xml不是正在构建的东西。这是生成XML的代码。
$XMLString = '<?xml version="1.0" encoding="UTF-8"?><cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:implocal="http://www.sat.gob.mx/implocal" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd" version="3.2" serie="Z" folio="155" fecha="2015-04-06T15:26:14" subTotal="1.00" total="1.32" certificado="" noCertificado="" TipoCambio="1" Moneda="MXN" metodoDePago="no aplica" sello="" tipoDeComprobante="ingreso" formaDePago="no aplica" LugarExpedicion="no aplica"><cfdi:Emisor rfc="ZFL080519LG0" nombre="ZURITA FLORERIAS S.A. DE C.V."><cfdi:DomicilioFiscal calle="Avenida 14 Sur" noExterior="5347" noInterior="B" colonia="Jardines San Manuel" localidad="Puebla" municipio="Puebla" estado="Puebla" pais="México Teléfono 2224974551" codigoPostal="72570" /><cfdi:ExpedidoEn pais="México" /><cfdi:RegimenFiscal Regimen="Persona Moral del Regimen General" /></cfdi:Emisor><cfdi:Receptor rfc="GOMA890623M50" nombre="ARANTXA GONZALEZ MENDOZA"><cfdi:Domicilio calle="NORTE" noExterior="1" noInterior="O" colonia="LA PAZ" localidad="PUEBLA" municipio="PUEBLA" estado="PUEBLA" pais="MEXICO" codigoPostal="00000" /></cfdi:Receptor><cfdi:Conceptos><cfdi:Concepto cantidad="1" unidad="NO APLICA" descripcion="NO APLICA" valorUnitario="1.00" importe="1.00" /></cfdi:Conceptos><cfdi:Impuestos totalImpuestosTrasladados="0.16"><cfdi:Traslados><cfdi:Traslado impuesto="IVA" tasa="16.00" importe="0.16" /></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><implocal:ImpuestosLocales version="1.0" TotaldeRetenciones="0.00" TotaldeTraslados="0.16"><implocal:TrasladosLocales ImpLocTrasladado="TRASLADADO" Importe="0.16" TasadeTraslado="16.00" /></implocal:ImpuestosLocales></cfdi:Complemento></cfdi:Comprobante>';
$document=Xml::build($XMLString, array('encoding' => 'UTF-8', 'return' => 'simplexml'));
当我检查谷歌浏览器上使用元素检查器接收的变量时,我回来的是下一个。
documnet: Object
@attributes: Object
LugarExpedicion: "no aplica"
Moneda: "MXN"
TipoCambio: "1"
certificado: ""
fecha: "2015-04-06T15:26:14"
folio: "155"
formaDePago: "no aplica"
metodoDePago: "no aplica"
noCertificado: ""
sello: ""
serie: "Z"
subTotal: "1.00"
tipoDeComprobante: "ingreso"
total: "1.32"
version: "3.2"
并非所有数据都经过。只有标题。我想将字符串作为file.xml发送,这是我必须要做的。这样做的更简单方法的任何想法?或者我做错了什么?
提前致谢。
答案 0 :(得分:0)
你只需要将 $ XMLString 传递给XML视图......我看不出需要Xml :: build
请检查:http://book.cakephp.org/2.0/en/views/json-and-xml-views.html