0

WS 開発のコンテキストでは、次のスキーマを使用します。

<xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Apporteurs">
  <xs:complexType name="namedValue_t">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="name" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="Prospect">
    <xs:sequence>
      <xs:element name="values" type="namedValue_t" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="origine"     type="xs:string" />
    <xs:attribute name="prenom"      type="xs:string" />
    <xs:attribute name="nom"         type="xs:string" />
    <xs:attribute name="departement" type="xs:int" />
  </xs:complexType>
</xs:schema>

このスキーマの有効な XML は次のとおりです。

<?xml version="1.0"?>
<prospect
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="WS.xsd"
   origine     = "toto"
   prenom      = "Aubin"
   nom         = "MAHE"
   departement = "33">
   <values name="Prénom">Aubin</values>
   <values name="Nom">MAHE</values>
</prospect>

この XML 値を PHP リテラルにコーディングする方法は?

次のことを試してみましたが、サーバーがこのデータで構築された WS 要求を処理できないため、よくわかりません。

$prospect = array(
   'origine'     => 'test-origine',
   'prenom'      => 'Aubin',
   'nom'         => 'MAHE',
   'departement' => 33,
   'values'      => array());
$prospect['values'][] = array( 'name' => 'Prénom', 'value' => 'Aubin' );
$prospect['values'][] = array( 'name' => 'Nom'   , 'value' => 'MAHE'  );

最後の 2 行がコメント化されると、リクエストは正常に実行されます。

4

1 に答える 1