У меня есть довольно простой документ ODF, который я хочу разобрать с помощью nokogiri.Альтернативный синтаксис для XPath в nokogiri, разбор ODF
XML-выглядит следующим образом:
<office:body>
<office:text>
<text:sequence-decls>
...
</text:sequence-decls>
<text:section text:name="categorylevel1" text:style-name="Sect1">
<text:p text:style-name="Title">[CATEGORY_LEVEL_1_NAME]</text:p>
</text:section>
</office:text>
В настоящее время я пытаюсь выбрать categorylevel1
раздел документа. Библиотека, которую я использую, автоматически генерирует XPath и дает
".//text:section[@text:name='categorylevel1']"
, что является правильным. Теперь проблема в том, что библиотека (nokogiri), кажется, принимает этот путь под MRI, но не под JRuby (бросает SyntaxError). По-видимому, Java-версия библиотеки не поддерживает атрибуты пространства имен.
Есть ли альтернативный способ ссылки на раздел документа? Например, просто используя атрибут text:name
? Есть ли способ игнорировать пространство имен? Значение атрибута раздела text:name
будет уникальным для всего документа, поэтому пропуская ссылку не будет проблемой.
Благодарим вас за примеры. Второй путь сделал эту работу! Однако первый также создает синтаксический код. Поддержка пространств имен в Java должна быть действительно ограниченной. – Toshe