如何使用 Cheerio 提取大写属性

问题描述 投票:0回答:1

我有一个日志条目如下:

<Event Timestamp="2017-06-14T10:17:09.313991+10:00" Level="INFO" Identity=""><Message>Accessed Page: </Message></Event>

我想用 Cheerio 提取 Timestamp、Level 等属性。我所做的是这样的:

const $ = cheerio.load(line)
console.log($("Event").attr('Timestamp'))

但是,我只是在控制台中未定义。你能告诉我问题出在哪里吗?

javascript node.js attributes cheerio
1个回答
0
投票

.attr()
是正确的 Cheerio 方法调用,但 HTML(或其他任何内容)很奇怪。在 HTML 中,属性是小写的,所以如果您使用
"timestamp"
和小写的
"t"
:

,您应该会得到正确的结果
const cheerio = require("cheerio"); // 1.0.0-rc.12

const html = `
<Event Timestamp="2017-06-14T10:17:09.313991+10:00" Level="INFO" Identity=""><Message>Accessed Page: </Message></Event>
`;

const $ = cheerio.load(html);
console.log($("Event").attr("timestamp")); // => 2017-06-14T10:17:09.313991+10:00
© www.soinside.com 2019 - 2024. All rights reserved.