Frage

Ich habe xsi:nil="true" in meiner Seifenanfrage. Was bedeutet? Wie kann ich den Wert darauf weitergeben?

Jede Hilfe wird geschätzt

War es hilfreich?

Lösung

So entfernen Sie den Wert in SOAP :: Data Objekt in ArrayRef anstelle von UNDEF. Angenommen, Sie haben Field1 als Schlüssel, dann würde das SOAP -Datenobjekt wie:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [
                   undef
                 ],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
 }, 'SOAP::Data' )*

und das resultierende XML wäre: <m: field1 xsi: nil = true id = "1219615" /> Wenn Sie nun das Objekt ändern, um:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
}, 'SOAP::Data' )*

Sie erhalten die gewünschte Ausgabe <m: field1 id = "1219615" />. Die Lösung ist in Perl.

Andere Tipps

Das nillable Attribut zeigt an, dass das Element, auf das sich das Attribut befindet, vorhanden ist, aber keinen Wert hat, ähnlich wie NULL In den meisten Programmiersprachen.

Wenn Sie dem Element einen Wert zuweisen möchten, müssen Sie dies jedoch entfernen xsi:nil Attribut zuerst, sonst werden Sie einen Fehler erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top