/ / Nokogiri rimuove gli spazi dei nomi degli attributi durante l'analisi - ruby, xml, nokogiri

Nokogiri stripping namespace degli attributi durante l'analisi - ruby, xml, nokogiri

Ho questo:

<style:style style:name="MYBOLD" style:family="text" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" style:font-name-complex="Arial" fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>

Nota come gli attributi hanno uno spazio dei nomi.

Quando lo analizzo in questo modo:

Nokogiri::XML.fragment(xmltext)

Sembra aver perso gli spazi dei nomi sia per i tag che per gli attributi! C'è un modo per preservarli?

risposte:

3 per risposta № 1

Nokogiri è cieco agli spazi dei nomi tranne (1) quellisul nodo principale e (2) quelli registrati dall'utente. Poiché un frammento per definizione non ha un nodo radice, dovrai fornire tu stesso le informazioni sullo spazio dei nomi.

Ho notato che il costruttore di DocumentFragment ha un nodo Contesto opzionale, dal quale puòInformazioni sullo spazio dei nomi Dato che hai indicato nei tuoi commenti che hai un documento in cui inserirai il frammento, purché gli spazi dei nomi siano correttamente registrati in quel documento, probabilmente puoi usarlo per le informazioni di contesto.