Javascript 解析输出和样式xml数据
我在远程服务器上有以下格式的xml:Javascript 解析输出和样式xml数据,javascript,jquery,xml,Javascript,Jquery,Xml,我在远程服务器上有以下格式的xml: <query_results> <row id="1"> <distance>...</distance> <post_title>...</post_title> <post_excerpt>...</post_excerpt> <ID>...</ID> &l
<query_results>
<row id="1">
<distance>...</distance>
<post_title>...</post_title>
<post_excerpt>...</post_excerpt>
<ID>...</ID>
</row
<row id="2">
.........................etc
</query_results>
...
...
...
...
我对你的问题提出了一个可能的解决方案。它从中加载示例XML
HTML中有一个占位符:
<div id="query_results"/>
在解析器函数中,可以使用.find()
和.children()
导航XML:
function parser(xml) {
$(xml).find('query_results').children().each(function() {
var row = $(this);
var id = row.attr("id");
var rowContents = "";
row.children().each(function() {
var tag = $(this);
var tagName = tag[0].tagName;
rowContents += "<div class='"+tagName+"'>"+tag.text()+"</div>";
});
var newRow = "<div id='row"+id+"'>"+rowContents+"</div>";
$("#query_results").append(newRow);
});
}
然后,您可以使用以下选择器在CSS中设置结果样式:
#query_results div { ... }
#query_results div div { ... }
#row1 .distance { ... }
#row2 .ID { ... }
在DIV中,比如在HTML中?是的,没错。要将数据附加到div旁边的html(以便可以对其进行样式化)Ehm,这难道不是无效的html吗?我说的是将文本放在div中以进行样式化。对不起,如果不清楚的话。例如:东西
<div id="row1"> ... </div>
<div class="distance"> ... </div>
<div class="post_title"> ... </div>
<div id="query_results">
<div id="row1">
<div class="distance">...</div>
<div class="post_title">...</div>
<div class="post_excerpt">...</div>
<div class="ID">...</div>
</div>
<div id="row2">...</div>
</div>
#query_results div { ... }
#query_results div div { ... }
#row1 .distance { ... }
#row2 .ID { ... }