Javascript 如何将cheerio从turn属性改为小写?
如何告诉cheerio不要将属性更改为小写 目前,Javascript 如何将cheerio从turn属性改为小写?,javascript,cheerio,Javascript,Cheerio,如何告诉cheerio不要将属性更改为小写 目前,cheerio将fooBar转换为fooBar。怎么不做呢 结果是: <html><head></head><body><div> <h4></h4> <img src> <input> <p foobar></p> <------------------foobar. expecte
cheerio
将fooBar
转换为fooBar
。怎么不做呢
结果是:
<html><head></head><body><div>
<h4></h4>
<img src>
<input>
<p foobar></p> <------------------foobar. expected: fooBar
</div>
</body></html>
UPADTE
我在Github中搜索了
lowerCaseAttributeName
,但不确定它是否对代码有影响:(Cheerio默认使用parser5,lowerCaseAttributeName
是一个htmlparser2属性
您可以尝试在开始时加载htmlparser2,如页面所示:
在我深入研究了
cheerio
源代码和许多其他库之后,我了解到您可以使用cheerio
获得您想要的
首先,您应该通过xmlMode:true
加载内容,并在调用html()
时使用xmlMode:false
:
完整的代码也在屏幕上
const cheerio=require(“cheerio”);
console.clear();
常量html=`
`;
const$=cheerio.load(html,{xmlMode:true,lowerCaseAttributeNames:false});
常量输出=$.html({xmlMode:false});
log({output});
/*
*/
const $ = cheerio.load(html, { lowerCaseAttributeNames: false });
<html><head></head><body><div>
<h4></h4>
<img src>
<input>
<p foobar></p> <------------------foobar. expected: fooBar
</div>
</body></html>
<div>
<h4/>
<img src="">
<input>
<p fooBar=""/>
</input></img></div>
// Usage as of htmlparser2 version 3:
const htmlparser2 = require('htmlparser2');
const dom = htmlparser2.parseDOM(document, options);
const $ = cheerio.load(dom);
const $ = cheerio.load(html, { xmlMode: true });
const output = $.html({ xmlMode: false });
const cheerio = require("cheerio");
console.clear();
const html = `
<div>
<h4></h4>
<img src="">
<input>
<p fooBar></p>
</div>
`;
const $ = cheerio.load(html, { xmlMode: true, lowerCaseAttributeNames: false });
const output = $.html({ xmlMode: false });
console.log({ output });
/*
<div>
<h4></h4>
<img src>
<input>
<p fooBar></p>
</div>
*/