PHP:在SOAP函数调用中返回XML
我想在调用函数而不仅仅是字符串时在SOAP中返回以下XML。有许多不同的函数将以这种方式返回xml格式,有没有一种方法可以定义函数返回的内容?像制作我自己的数据类型PHP:在SOAP函数调用中返回XML,php,xml,arrays,soap,Php,Xml,Arrays,Soap,我想在调用函数而不仅仅是字符串时在SOAP中返回以下XML。有许多不同的函数将以这种方式返回xml格式,有没有一种方法可以定义函数返回的内容?像制作我自己的数据类型 <meta> <supplier>Amazon.com</supplier> <datetime>2010/08/21 14:32:40</datetime> </meta> <results> <result>
<meta>
<supplier>Amazon.com</supplier>
<datetime>2010/08/21 14:32:40</datetime>
</meta>
<results>
<result>
<manufacturer>Intel</manufacturer>
<itemno>8236476234</itemno>
<prices>
<price>
<quantity>10</quantity>
<cost>$1.20</cost>
</price>
<price>
<quantity>100</quantity>
<cost>$0.80</cost>
</price>
</prices>
</result>
<result> ... </result>
</results>
最好的方法是将结果放入数组中,然后将其转换为XML。下面是一个现成的脚本:
它将几乎任何类型的关联数组转换为完整格式的XML。XML不是数据类型。这是一种文档格式。输出XML文档时,它只是一个字符串。可以返回SimpleXMLElement对象,但这不是XML。这是一个复杂的数据结构,许多数据结构中有一个与XML建模和提供操作接口的目的相同?如果使用所需的结构设计类,PHP可以从SOAP调用中吐出对象。不需要处理XML。XML不能转换成那样的简单关联数组,因为有效的XML可以具有元素属性。操作XML文档的最佳方法是使用DOM或SAX之类的东西,它们是经过验证的真正解决方案。但是,如果您的目标只是存储/传输XML数据,那么XML格式本身已经是一种完全可行的标准化序列化格式。将其转换为其他数据结构没有任何好处。