Это следующий вопрос к этому ответу:
Как обработать XML с PHP, который был отправлен на сервер как text / xml?
JavaScript / JQuery:
var xmlDoc = jQuery.createXMLDocument( "<items></items>" ); jQuery( "items", xmlDoc ).append( jQuery( "<item>My item!</item>" ) ); jQuery.ajax({ url: "test.php", type: "POST", processData: false, contentType: "text/xml", data: xmlDoc, success: function( data ) { alert( data ); } });
PHP:
$xml_text = file_get_contents("php://input"); $xml = simplexml_load_string($xml_text); echo $xml->ITEM;
Для этого я должен использовать $ xml-> ITEM. Если я использую элемент $ xml->, он не будет работать. Мне было интересно, почему, когда узел элемента добавляется, он имеет строчные буквы, но когда я его извлекаю, теперь он должен быть прописным? Я хотел бы, чтобы это было строчным в моем PHP. Благодарю.
Ваш PHP-скрипт получает в качестве входных данных <items> <ITEM> My item! </ ITEM> </ items>. Пытаться
<?php $xml_text = file_get_contents("php://input"); file_put_contents('test.log.txt', $xml_text);
если вы считаете, что это не так.
xmlDoc – это XML-документ, но результат jQuery («<item> My item! </ item>») не является. По пути jQuery использует .nodeName, которое ведет себя как .tagName для элементов.
https://developer.mozilla.org/en/DOM/element.tagName говорит:
В XML (и на XML-языках, таких как XHTML), tagName сохраняет регистр. В HTML tagName возвращает имя элемента в канонической форме в верхнем регистре . Значение tagName такое же, как имя nodeName.