是否有可能將XML存儲爲JSON(我會假設它會)?例如,在PHP中,可以將XML轉換爲數組或對象,然後使用json_encode
將其轉換爲JSON。然後,您可以回顯出來像這樣一個javascript變量:
在PHP:
<?php
$xml = "<div><outer><inner>abc</inner><inner>def</inner></outer></div>";
$xml_object = simplexml_load_string(xml);
$json = json_encode($xml_object);
?>
<script language="javascript">
$(function() {
// eval() is okay to use if you know where the JSON is
// coming from (and, of course, you do...)
var data = eval('<?php echo $json; ?>');
$(document).data('myapp.data',data);
});
</script>
而現在,當你需要訪問這些數據,你可以得到它像這樣:
function some_function() {
var data = $(document).data('myapp.data');
$.each(data.div.outer,function() {
// Would alert 'abc' then 'def'
alert(this.inner);
});
}
我希望一切都有道理。至少您不必擔心客戶端的XML問題。當然,如果你絕對需要,我發現這對我在過去的工作:
var xml = "<div><outer><inner>abc</inner><inner>def</inner></outer></div>";
var $xml = $('<div />').append(xml);
alert("[" + $xml.find("outer").html() + "]");
編輯 我修改代碼以使用您提供實際的XML - 不知道在哪裏我混在那裏(一定是抓住了別人的意外片斷)。你應該給我的第一個建議一個鏡頭 - 它應該工作。
這是您的真實XML嗎它似乎包含語法錯誤。 – 2009-05-20 19:14:42
Woops。我沒有匹配XML標籤。但這並不重要。問題依然存在。 – Jono 2009-05-20 19:17:28
我在代碼示例中匹配了標籤。現在它更具可讀性。有任何想法嗎? – Jono 2009-05-20 19:26:09