gpt4 book ai didi

javascript - XML 到 HTML 的问题

转载 作者:行者123 更新时间:2023-11-28 09:57:22 27 4
gpt4 key购买 nike

这是我的 xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="movies.xsl"?>
<root>
<Diary>
<Event EventName="J.Edgar" Classification="2011 Movies" EventStart="2012-03-19T07:00:00+00:00" EventEnd="2012-03-19T08:00:00+00:00" />
<Event EventName="Titanic" Classification="1997 Movies" EventStart="2012-03-19T09:00:00+00:00" EventEnd="2012-03-19T10:00:00+00:00" />
</Diary>
</root>

我有两个选项来创建我需要的内容:

  1. <?xml version="1.0" encoding="ISO-8859-1"?>

    <xsl:template match="Event">
    <html>
    <body>
    <h2>Best movies</h2>
    <p>Here you can find the top movies ever.</p>
    <table border="1">
    <tr bgcolor="#9acd32">
    <th>Movie</th>
    <th>Year</th>
    <th>Start Time</th>
    <th>End Time</th>
    </tr>
    <tr>
    <td><xsl:value-of select="@EventName"/></td>
    <td><xsl:value-of select="@Classification"/></td>
    <td><xsl:value-of select="@EventStart"/></td>
    <td><xsl:value-of select="@EventEnd"/></td>
    </tr>
    </table>
    </body>
    </html>
    </xsl:template>

    </xsl:stylesheet>

2.

    <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function loadXMLDoc(fName){
if (window.XMLHttpRequest){
xhttp=new XMLHttpRequest();
} else {
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",fName,false);
xhttp.send("");
return xhttp.responseXML;
}

xmlDoc=loadXMLDoc("movies.xml");

function displayEvents(){
var eventsO = xmlDoc.getElementsByTagName("Event");
var tableO = document.createElement('table'), newRow, newCell;
for(i=0; i<eventsO.length; i++){
newRow = tableO.insertRow(-1);
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode(eventsO[i].getAttribute('EventName')));
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode(eventsO[i].getAttribute('Classification')));
}
document.body.appendChild(tableO);
}
window.onload=displayEvents;
</script>
</head>
<body>

</body>
</html>

您能尝试纠正我的这些代码吗?

我想做以下功能:

  1. 从另一个非本地站点加载外部 xml。

  2. 拥有电影列表,当您按电影时,会出现一个弹出窗口或一个新页面,您可以了解有关该电影的更多信息。但是我如何动态创建它,以便弹出窗口中的信息保持不变,但电影的名称会根据您单击的电影而改变......?

  3. 匹配“Event”正在运行,但可能是错误的..(?)

最佳答案

应该有一个 xsl:for-each 来循环显示电影,如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:template match="/">
<html>
<body>
<h2>Best movies</h2>
<p>Here you can find the top movies ever.</p>
<table border="1">
<tr bgcolor="#9acd32">
<th>Movie</th>
<th>Year</th>
<th>Start Time</th>
<th>End Time</th>
</tr>

<xsl:for-each select="root/Diary/Event">
<tr>
<td><xsl:value-of select="@EventName"/></td>
<td><xsl:value-of select="@Classification"/></td>
<td><xsl:value-of select="@EventStart"/></td>
<td><xsl:value-of select="@EventEnd"/></td>
</tr>
</xsl:for-each>

</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

关于javascript - XML 到 HTML 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801036/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com