У меня есть этот jquery code, который принимает переменную xml, анализируя ее и отображая ее в html-файле, и она работает так, как предполагалось. Проблема в том, что однажды я попытаюсь взять переменную xml из сценария php и передать эту переменную как входной код вышеупомянутого сценария jquery. Я получаю сообщение об ошибке в своем веб-браузере.Ошибка XML Parse
Мой сценарий:
<?php
require('MyClass.php');
$Myparam = "";
$built_request=new MyClass($Myparam);
$xml=$built_request->getResponse();// works fine and returns an xml variable represented as below
?>
<html lang="en">
<head>
<meta charset="utf-8"></meta>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<BODY>
<p id="someElement"></p>
<script>
$(document).ready(function(){
var xml ="<?php echo $xml; ?>";
var d1 = $(xml).find('data[name="name2"]').attr('status');
$("#someElement").append(d1);
});
</script>
</BODY>
</html>
Это полученная ошибка в веб-браузере, несмотря на, когда я даю тот же самый XML переменной непосредственно в JavaScript, скрипт работает.
XML Parse Error: XML or text declaration not at start of entity
var xml ="<?xml version="1.0" encoding="UTF-8"?>
--------------^
Попытка исследовать эту проблему, я распечатанную мой полученные переменные и печатное значение заключается в следующем:
<?xml version="1.0" encoding="UTF-8"?>
<data request-id="31236">
<data name="name1" code="0" code2="003404502" code3="">
<data name="name2" code1="34297502" time="2014-09-01" id="14c259b-bsdfgds8b5" leitcode="" code2="692748" order="false" piece-code="00363932" piece-status="0" identifier-type="2" pan-recipient-name="" street-name="" house-number="" city-name="" status="status x" error-status="0" code_name="code name" />
</data>
</data>
Проблемы, кажется, новые строки в вашей строке (я угадываю) ... если вам нужно ее избежать ... не уверен, как это сделать в PHP ... вам придется изменить строка 'var xml =" php echo $ xml;?> ";' –
На самом деле нет новых строк в моей переменной xml, пожалуйста, взгляните на мой отредактированный вопрос –