Alguém sabe se existe um método nativo para imprimir os atributos de um Nokogiri::XML::Node
sem innerHTML
ou conteúdo de texto.
Por exemplo, considerando o seguinte Nokogiri::XML::Node
:
<div id="customer" class="highlighted">
<h1>Customer Name</h1>
<p>Some customer description</p>
</div>
Gostaria de imprimir apenas:
<div id="customer" class="highlighted">
ou
<div id="customer" class="highlighted"/>
ou
<div id="customer" class="highlighted"></div>
Eu sei que eu poderia simplesmente percorrer a lista de atributos usando o attributes
método, mas eu queria saber se Nokogiri já suporta algo assim nativamente.
Respostas:
0 para resposta № 1Você pode emitir o nó com seu conteúdo excluído:
doc = Nokogiri::HTML.fragment(
"<div id="customer" class="highlighted">
<h1>Customer Name</h1>
<p>Some customer description</p>
</div>"
)
node = doc.at_css("#customer").clone
node.content = nil
p node.to_html
#=> "<div id="customer" class="highlighted"></div>"