0

想要从存在多条记录的 XML 中拆分并获取实际数据。

XML

<description>
    <div><b>Article_Title:</b> Title_Content</div>
    <div><b>Article_Summary:</b> Summary_Content</div>
    <div><b>Article_Date:</b> 05/08/2013</div>
</description>

从上面的代码中,我只想检索“Title_Content”、“Summary_Content”和“05/08/2013”​​。

获取这些内容的最佳和最佳方式是什么。

提前致谢

4

3 回答 3

0

您可以执行以下操作

HTML

<description>
    <div><b>Article_Title:</b> Title_Content</div>
    <div><b>Article_Summary:</b> Summary_Content</div>
    <div><b>Article_Date:</b> 05/08/2013</div>
</description>

Javascript

var descriptions = document.getElementsByTagName("description"),
    results = [];

Array.prototype.forEach.call(descriptions, function (description) {
    var result = {};

    result.title = description.children[0].lastChild.textContent;
    result.summary = description.children[1].lastChild.textContent;
    result.date = description.children[2].lastChild.textContent;

    results.push(result);
});

console.log(results);

输出

date: " 05/08/2013"
summary: " Summary_Content"
title: " Title_Content"

jsfiddle 上

如果您不想要前导空格或尾随空格,请添加.trim()到每个末尾textContent

仅当forEach您定义了多个此类块时,才需要循环。

于 2013-06-13T14:08:28.463 回答
0

假设它被解析为有效的 XML

var values = [];

$('description div').clone().find('b').remove().end().each(function(ix){
   values[ix] = $(this).text();   
});
于 2013-06-13T14:05:13.547 回答
0

看看这个函数jQuery.parseXML

于 2013-06-13T14:01:20.367 回答