我的问题似乎很简单,但我找不到任何解决方案。
我将 nusoap 用于 web 服务,我需要生成这样的结构(来自 php 数组):
<ns0:measurementUnitList>
<ns0:measurementUnit type="type1">type1.value</ns0:measurementUnit>
<ns0:measurementUnit type="type2">type1.value</ns0:measurementUnit>
</ns0:measurementUnitList>
所需的 xsd 如下所示:
<xsd:complexType name="measurementUnit">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="type" type="xsd:string" use="required" >
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
...并且有问题的 php 数组部分如下所示:
[measurementUnitList] => Array(
[measurementUnit] => Array
(
[0] => Array
(
[type] => type1
[unit] => type1.value
)
[1] => Array
(
[type] => type2
[unit] => type2.value
)
)
)
在这个例子中,“type”属性必须从 php 数组的“type”元素生成,内容应该来自同一个 php 数组的“unit”元素。
问题是,无论如何我尝试将“单位”放入元素的内容中,库会在具有此内容的“measurementUnit”元素中生成一个新的“单位”元素,如下所示:
<ns1:measurementUnitList>
<ns1:measurementUnit type="type1">
<ns1:unit>type1.value</ns1:unit>
</ns1:measurementUnit>
<ns1:measurementUnit type="type2">
<ns1:unit>type2.value</ns1:unit>
</ns1:measurementUnit>
</ns1:measurementUnitList>
所以我只是想不通,我怎么能简单地使用这个值而没有任何额外的标签。
谢谢你的帮助!