我有這個jquery code需要一個xml變量解析它並將其顯示在一個html文件中,它的工作原理與假設一樣。 問題是,一旦我嘗試從php腳本中獲取xml變量並將此varibale作爲上述jQuery腳本的輸入,我會在我的Web瀏覽器中收到一條錯誤消息。XML解析錯誤
我的腳本:
<?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>
這是在Web瀏覽器中所獲得的錯誤,儘管當我把這些相同的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;?>」;;' – 2014-09-02 08:49:23
實際上在我的xml變量中沒有新行可以請看看我編輯的問題 – 2014-09-02 08:50:31