嗨我仍然对javascript / html / xml很新,但是要理解这些概念,并且可以做一些基本的编码。
我正在尝试获取一些xml数据,并将这些数据放入一些html表中,这一切都有效,但数据没有被放到单独的表行中。我知道我可能必须创建数组,但我的代码是通过网络,我坚持如何做到这一点。所以我正在寻找javascript / html的一些帮助。
它正常工作,但显示效果不正确,因为每个标题都在一行上,我需要将它放在不同的行上。
我用Google搜索,尝试了各种选项,但没有运气。
javascript函数:
function myGetEventsXmlData() {
$.ajax({
type: "GET",
url: "data/event_list.xml",
dataType: "xml",
success: xmlEventParser
});
}
function xmlEventParser(xml) {
$(xml).find('event_list').each(function () {
var $show = $(this);
var data = {
title: $show.find('title').text(),
name: $show.find('name').text(),
severity: $show.find('severity').text(),
};
var row = $('<tr />');
for (var prop in data) {
$('<td>' + data[prop] + '</td>').appendTo(row);
}
$('#eventtable').append(row);
});
}
这是我试图解析的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<event_list>
<event>
<id>9199acca-df09-71e6-1946-c0a800820000</id>
<title>client.createConnection(691) - AMQ214016: Failed to create netty connection </title>
<name>test1.system.com</name>
<state>open</state>
<severity>critical</severity>
<priority>medium</priority>
<category>Internal</category>
</event>
<event>
<id>9199acca-df09-71e6-1946-c0a800820000</id>
<title>ssh login failed </title>
<name>test2.system.com</name>
<state>open</state>
<severity>major</severity>
<priority>medium</priority>
<category>OS</category>
</event>
<event>
<id>9199acca-df09-71e6-1946-c0a800820000</id>
<title>Oracle Connection OK </title>
<name>test3.system.com</name>
<state>open</state>
<severity>normal</severity>
<priority>medium</priority>
<category>Database</category>
</event>
</event_list>
html代码部分
<table id="eventtable" table=table style="width:100%" align="center">
<tr>
<th>Title</th>
<th>Name</th>
<th>Severity</th>
</tr>
</table>
数据出现在该部分但是它们全部在一起而不是单独的行,我想要的是数据在每个新数据的新行上,而不是在一行上。
关于如何做到这一点的任何想法都会很棒。
答案 0 :(得分:1)
$(xml).find('event_list').each(function () {
您正在遍历每个<event_list>
(其中只有一个)。
您应该遍历每个<event>
。