/ / Nokogiri odstraňovanie názvov názvov počas syntaktickej analýzy - ruby, xml, nokogiri

Nokogiri oddebňovací atribút názvov počas parsování - ruby, xml, nokogiri

Mám toto:

<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>

Všimnite si, ako majú atribúty priestor názvov.

Keď to analyzujem takto:

Nokogiri::XML.fragment(xmltext)

Zdá sa, že stratil menný priestor pre značky aj pre atribúty! Existuje nejaký spôsob, ako ich uchovať?

odpovede:

3 pre odpoveď č. 1

Nokogiri je slepý voči menným priestorom okrem (1) týchv koreňovom uzle a (2) všetky, ktoré sami zaregistrujete. Pretože fragment podľa definície nemá koreňový uzol, budete musieť informácie o mennom priestore zadať sami.

Všimol som si, že konštruktér DocumentFragment má voliteľný kontextový uzol, z ktorého môžezozbierať informácie o mennom priestore. Keďže ste vo svojich komentároch uviedli, že máte dokument, do ktorého vložíte fragment, pokiaľ sú v tomto dokumente menné priestory správne zaregistrované, pravdepodobne ho môžete použiť na kontextové informácie.