代码之家  ›  专栏  ›  技术社区  ›  punkish

使用ChereIOJS按原样输出特定标记

  •  0
  • punkish  · 技术社区  · 4 年前

    我在用 干杯 解析一些xml

    const $ = cheerio.load(xml, {
        normalizeWhitespace: true,
        xmlMode: true
    })
    

    这可能是我无法理解的一些非常基本的东西,但我不知道如何逐字输出所选元素。例如,我有

    <foo id="3B3D3CAD1268FFDFD3E36F2DFD30DBD0" a="3392779302" b="Chiapas" c="Mexico">
    <emphasis bold="true" pageId="3" pageNumber="120">Type locality.</emphasis>
    </foo>
    <emphasis bold="true" pageId="3" pageNumber="120">Other localities.</emphasis>
    <foo id="3B3D3CAD1268FFDFD3E36F2D68FFDFD" a="3392779378" b="Baja California" c="Mexico">
    <emphasis bold="true" pageId="3" pageNumber="120">Type locality.</emphasis>
    </foo>
    

    我选择了上面这样的选项

    const elements = $('foo')
    for (let i = 0; i < elements.length; i++) {
       const e = elements[i]
       console.log($(e).html())
    }
    

    我明白了

    <emphasis bold="true" pageId="3" pageNumber="120">Type locality.</emphasis> 
    <emphasis bold="true" pageId="3" pageNumber="120">Type locality.</emphasis>
    

    但我想要

    <foo id="3B3D3CAD1268FFDFD3E36F2DFD30DBD0" a="3392779302" b="Chiapas" c="Mexico"></foo>
    <foo id="3B3D3CAD1268FFDFD3E36F2D68FFDFD7" a="3392779378" b="Baja California" c="Mexico"></foo>
    
    0 回复  |  直到 4 年前
        1
  •  0
  •   punkish    4 年前

    console.log($(e).prop('outerHTML')) 这有什么诀窍吗