XML-Fehler Öffnen Sie zitieren, wird erwartet, dass für das Attribut "Wert", wenn die Programmierung in PHP
Hallo und danke für Eure Hilfe,
Ich bin PHP zu schreiben, die eine XML-Anfrage, das problem, das ich habe ist wenn ich die variable in das Feld Wert eingeben, wird ein Fehler zurückgegeben. Aber wenn ich Schreibe in den Wert manuell ein, funktioniert es tadellos.
Unter field name='Seriennummer' sehen Sie die $MREPSerial ist die variable, lassen Sie uns davon ausgehen, dass
in der PHP-wir haben $MREPSerial = 'A-000-1042'; Das folgende XML-würde dir eine Fehlermeldung geben. Wenn ich aber zu ersetzen waren $MREPSerial nur mit dem Wert in der XML es erfolgreich sein würde. Jegliche Hilfe würde sehr geschätzt werden. Danke!
$MREPSerial = htmlspecialchars(strtoupper($_POST['NSMREP']));
echo "Hi".$MREPSerial;
<ZohoCreator>
<applicationlist>
<application name='ajout-de-materiel'>
<formlist>
<form name='MREP'>
<update>
<criteria>
<field name='Serial_Number' compOperator='Equals' value={$MREPSerial}></field>
<reloperator>AND</reloperator>
<field name='MREP_Type' compOperator='Equals' value='0'></field>
</criteria>
<newvalues>
<field name='Is_being_Used' value='TRUE'></field>
</newvalues>
</update>
</form>
</formlist>
</application>
</applicationlist>
</ZohoCreator>";
...
die Rückkehr Antwort auf echo (einschließlich XML, das ich echo)
A-000-1012HI! <?xml version="1.0" encoding="UTF-8" ?>
<response><errorlist><error><code>2830</code><message><![CDATA[Open quote is expected for attribute "value" associated with an element type "field".]]></message></error></errorlist></response>
die Rückkehr Antwort auf echo, wenn ich es zu ändern '".$MREPSerial." ist:
A-000-1012HI! <?xml version="1.0" encoding="UTF-8" ?>
<response><result><form name="MREP"><update><criteria><field name="Serial_Number" compOperator="Equals" value=""></field><reloperator>AND</reloperator><field name="MREP_Type" compOperator="Equals" value="0"></field></criteria><newvalues><field name="Is_being_Used"><value><![CDATA[TRUE]]></value></field></newvalues> <status>Failure, No Records Found With Specified Criteria</status></update></form></result></response>
...compOperator='Equals' value='<?PHP echo $MREPSerial; ?>'>...
Sorry das ist alles in PHP bin ich leider nicht hinzufügen, das ganze PHP-Seite, die XML-Datei eine variable $param = "XMLString= <ZohoCreator> ....
können Sie das folgende tun für mich;
echo '[['.$MREPSerial.']]';
und zeigen Sie die Ausgabe wieder...auf echo dies ist, was zurückgegeben wird, ist [[A-000-1012]] (1012 ist, weil ich die Zahl geändert werden, aber sollte funktionieren)
keine Ahnung... macht keinen Sinn. Vielleicht posten Sie eine größeren Ausschnitt des Codes vor/nach und auch, wo Sie das zuweisen und testen Sie die Ausgabe der $MREPSerial... vielleicht ist es etwas anderes.
InformationsquelleAutor J Noel | 2012-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Anführungszeichen um das Attribut "value" der eigentliche Wert, wie diese:
sind Sie sicher, dass die variable gefüllt wird?
Wenn der Wert leer ist, dann ist das problem in der Ausgabe Ihres Variablen. Brauchen Sie eine
echo
oderprint
. Ich war nicht sicher, wie Sie waren, mit dieser Vorlage, so dass ich nicht kommentieren. Wenn leere Zeichenfolge erlaubt sind, dann vielleicht die, die Sie schreiben müssen'null'
oder sonst etwas, das hier als Platzhalter für die leere Zeichenfolge.Der Wert füllen, habe ich hallte das Wert und es zeigt, werde ich die Informationen zu Bearbeiten, zu zeigen, wie ich das Tat.
InformationsquelleAutor Mike Brant
sah nur Ihre
";
schließen tag...versuchen, diese für die Linie
allerdings, wenn ich echo $MREPSerial der Wert angezeigt wird
InformationsquelleAutor Dave