使用jQuery在HTML中显示XML文件的内容保持为空

时间:2011-07-19 01:21:52

标签: xml list jquery xhtml

我试图在HTML列表中简单地显示XML文件的内容。 出于某种原因,结果仍然是空的,我不知道为什么。 我确实检查了许多问题和答案,但仍然没有成功。

以下是JSbin的代码:http://jsbin.com/arufep/edit

目标是列出一个可点击的网址列表:

<li><a href="/dir/xyz.htm">description</a></li>

感谢您对此进行调查。

2 个答案:

答案 0 :(得分:1)

您正尝试对http://www.halo-photographs.com/test-code/panorama-list1.xml进行跨域ajax调用,浏览器Same Origin Policy不允许这样做。

您可以查看JQuery的crossDomain:true ajax参数来完成此操作,但我相信它不适用于XML响应。

答案 1 :(得分:0)

下面是PHP5页面,用于插入源自XML文件但没有客户端脚本的数据。

确保您的XSLT输出您想要显示的内容。

评论:我必须承认我的第一个问题是jQuery,但我最终得到了这个相当简单有效的解决方案。

<?php
  $path_xml = "/...path-to.../list.xml";
  $path_style = "/...path-to.../list.xsl";  
  $xml_obj = new DomDocument;
  $xsl_obj = new DomDocument;

  if (!$xml_obj->load($path_xml)) {
      echo "Error! Unable to open " . $path_xml . "!\n";
      exit;
  }
  if (!$xsl_obj->load($path_style)) {
      echo "Error! Unable to open " . $path_style . "!\n";
      exit;
  }
  $xslt_parse = new xsltprocessor;
  $xslt_parse->importStyleSheet($xsl_obj);
?>
<!DOCTYPE...>
<head>
</head>
<body>

<p><!-- display XSLT-styled content of XML-data here: -->
    <?php echo $xslt_parse->transformToXML($xml_obj);?>
</p>
</body> 
</html>