Suw*_*wen 9 javascript attributes node.js cheerio
我有一个日志条目如下:
<Event Timestamp="2017-06-14T10:17:09.313991+10:00" Level="INFO" Identity=""><Message>Accessed Page: </Message></Event>
Run Code Online (Sandbox Code Playgroud)
我想用 Cheerio 提取时间戳、级别等属性。我所做的是这样的:
const $ = cheerio.load(line)
console.log($("Event").attr('Timestamp'))
Run Code Online (Sandbox Code Playgroud)
但是,我只是在控制台中未定义。您能指点一下问题出在哪里吗?
.attr()是正确的 Cheerio 方法调用,但此 XML 正在默认 HTML 模式下解析。console.log($.html());在 HTML 模式下,Cheerio 会小写属性,您可以在加载后看到这些属性。
{xml: true}假设您正在处理 XML,添加保留大小写:
const cheerio = require("cheerio"); // 1.0.0-rc.12
const xml = `
<Event Timestamp="2017-06-14T10:17:09.313991+10:00" Level="INFO" Identity=""><Message>Accessed Page: </Message></Event>
`;
const $ = cheerio.load(xml, {xml: true});
console.log($("Event").attr("Timestamp")); // => 2017-06-14T10:17:09.313991+10:00
Run Code Online (Sandbox Code Playgroud)
如果这实际上是 HTML,那么您可以使用小写属性名称提取该字段:
const $ = cheerio.load(html);
console.log($("Event").attr("timestamp")); // => 2017-06-14T10:17:09.313991+10:00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11906 次 |
| 最近记录: |