最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

从cheerio XML元素得到即时文本

运维笔记admin7浏览0评论

从cheerio XML元素得到即时文本

从cheerio XML元素得到即时文本

使用cheerio解析XML,考虑

<foo>this<bar>that</bar></foo>

我想只有拿到“本”当我做$('foo').text()但我正在逐渐“thisthat”。如何限制只在元素FOO即时文本的反应如何?

回答如下:

对于你的问题的例子,你可以得到foo的第一个孩子的文字:

$("foo")[0].children[0].data; //'this'

相反,如果你想foo内所有直接的文字,你可以遍历其children和他们type行事。片段:

function getImmediateText(str){
    let retStr = "";
    var $ = cheerio.load(str);  
    var children = $("foo")[0].children;

    children.forEach(function(child){
        //if type is text, add to return string
        if(child.type == "text")
            retStr += child.data;
    })
    return retStr;
}

如果您的文字是<foo>this<bar>that</bar>after</foo>,这将返回thisafter。你可以很容易地改变它把空格或换行符之间的“本”和“之后”如果需要的话。

发布评论

评论列表(0)

  1. 暂无评论