在javascript循环中获取xml节点的内部值

时间:2016-03-08 18:11:51

标签: javascript jquery xml

我有一个包含10"项目条目的xml文件"采用以下格式:

<channel>
    <title>Search products</title>
    <link>http://v2-bienaldolivrosp.rxnova.com/feeds/search/Products/?startRecord=1</link>
    <description>Bienal do Livro de Sao Paulo search</description>
    <language>pt-BR</language>
    <item>
        <guid isPermaLink="true">http://www.bienaldolivrosp.com.br/pt-BR/Exhibitors/376354/Manole-Conteudo/Products/716223/Gestao-de-Pessoas-4-ed-O-Novo-Papel-dos-Recursos-Humanos-nas-Organizacoes</guid>
        <link>http://www.bienaldolivrosp.com.br/pt-BR/Exhibitors/376354/Manole-Conteudo/Products/716223/Gestao-de-Pessoas-4-ed-O-Novo-Papel-dos-Recursos-Humanos-nas-Organizacoes</link>
        <title>Gestão de Pessoas 4ª ed. - O Novo Papel dos Recursos Humanos nas Organizações</title>
        <description>A obra parte dos novos desafios da gestão de pessoas e direciona a atenção do leitor para seis ações que, inerentemente, se conectam em rede: agregar, recompensar, desenvolver, monitorar, manter e, por fim, aplicar pessoas. </description>
        <pubDate>Fri, 25 Jul 2014 20:17:53 Z</pubDate>
        <enclosure url="http://www.bienaldolivrosp.com.br/__novaimages/596889" type="image/jpg" length="1000" />
    </item>
</channel>

我正在运行以下代码来解析xml:

for (i = 0; i < values.length; i++) { 
   text += values[i]['title'] + " - " + "<br>";
}

上面的代码工作正常,但问题是我需要在de&#34; enclosure url&#34;内部获取url。节点,我无法弄清楚如何做到这一点。

任何帮助?

1 个答案:

答案 0 :(得分:0)

试试这个:

text +=
    values[i]['title'] + " - " +
    values[i]['enclosure'].getAttribute('url') +
    " - " +
    "<br>"
;

我可能错了,但是...... ^ _ ^ 我希望它会提供如下输出:

"Gestão de Pessoas 4ª ed. - O Novo Papel dos Recursos Humanos nas Organizações - http://www.bienaldolivrosp.com.br/__novaimages/596889 - <br>"

版本0.2:

text += values[i]['title'] + " - ";
if ( typeof values[i]['enclosure'] === 'undefined' ) {
    text += 'Undefined Enclosure';
} else {
    console.log( values[i]['enclosure'] );
    text += values[i]['enclosure'].getAttribute('url');
}