嗨,我对javascript/html/xml还是个新手,但我确实理解这些概念,并且可以进行一些基本的编码。
我正在尝试获取一些xml数据,并将这些数据放入一些html表中,这一切都可以,但数据并没有被放入单独的表行中。我知道我可能必须创建数组,但我的代码是通过网络的,我一直在思考如何做到这一点。因此,我正在寻找一些关于javascript/html的帮助。
它可以工作,但显示看起来不太好,因为每个标题都在一行上,我需要它在单独的行上。
我在谷歌上搜索过,尝试过各种选择,但都没有成功。
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>
数据显示在节中,但它都是一起的,而不是分开的行,我希望每个新数据的数据都在新行上,而不是在一行上。
任何关于如何做到这一点的想法都将是伟大的。
$(xml).find('event_list').each(function () {
您在每个<event_list>
(其中只有一个)上循环。
您应该在每个<event>
上循环。