0

我的问题似乎很简单,但我找不到任何解决方案。

我将 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>

所以我只是想不通,我怎么能简单地使用这个值而没有任何额外的标签。

谢谢你的帮助!

4

1 回答 1

0

尝试这个

[measurementUnitList] => Array(
     [measurementUnit] => Array
     (
        [0] => Array
        (
            [type] => type1
            [!] => type1.value
        )

        [1] => Array
        (
            [type] => type2
            [!] => type2.value
        )

     )

)
于 2013-08-22T04:58:27.553 回答