如何将XML添加到带有超链接的HTML页面

问题描述:

我想将XML添加到我的HTML页面。我希望主题显示为'h3',显示为'p'的内容以及显示在'a href'内的网址。如何将XML添加到带有超链接的HTML页面

XML

<linkedin> 
<discussion> 
    <topic>This is the discussion name</topic> 
    <content>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ligula mi, convallis eget iaculis id, euismod non arcu. Morbi porta.</content> 
    <url>http://www.linkedin.com/groups/</url> 
</discussion> 

以下是我想的输出HTML一下:

<h3>This is the discussion name</h3> 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ligula mi, convallis eget iaculis id, euismod non arcu. Morbi porta.</p> 
<a href="http://www.linkedin.com/groups/"></a> 

非常感谢,我希望的是什么,我停留在这个解释说得通。

+1

不,这没有任何意义。你究竟是什么“卡在”?你目前如何尝试添加XML? – Pointy 2012-01-13 15:26:19

+0

你想把XML转换成HTML吗? – Jonathan 2012-01-13 15:29:04

+0

我只是喜欢从任何HTML页面上显示的XML文件中的,。我只需要知道HTML将从XML文件中提取这些信息是什么? – Tim 2012-01-13 15:29:10

注意:这是如此简单。它不处理任何子节点不存在的情况。

只是为了让你开始使用ajax请求。

HTML

<!DOCTYPE> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script type = "text/javascript" src = "script.js" defer = "defer"></script> 
</head> 
<body> 

</body> 
</html> 

JS(的script.js)

function getXML() { 
    var xmlhttp,xmlDoc; 
    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else {// code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.open("GET", "your-xml-file.xml", false); 
    xmlhttp.send(); 
    xmlDoc = xmlhttp.responseXML; 
    showDiscussions(xmlDoc); 
} 

function showDiscussions(xmlDoc) { 
    var discHolder = document.createElement("DIV"), 
     disc = xmlDoc.getElementsByTagName("discussion"); 
    for (var i = 0, j = disc.length; i < j; i++) { 
     var topic = document.createElement("h3"), 
      content = document.createElement("p"), 
      url = document.createElement("a"); 

     topic.innerHTML = disc[i].getElementsByTagName("topic")[0].childNodes[0].nodeValue; 
     discHolder.appendChild(topic); 
     content.innerHTML = disc[i].getElementsByTagName("content")[0].childNodes[0].nodeValue; 
     discHolder.appendChild(content); 
     url.href = disc[i].getElementsByTagName("url")[0].childNodes[0].nodeValue; 
     url.innerHTML = disc[i].getElementsByTagName("url")[0].childNodes[0].nodeValue; 
     discHolder.appendChild(url); 

    } 

    document.body.appendChild(discHolder); 
} 

getXML(); 

我也会推荐使用jquery