Как избежать Nokogiri::XML::XPath::SyntaxError: ОШИБКА: неопределенный префикс пространства имен
Я получаю ошибку "Nokogiri::XML::XPath::SyntaxError: ОШИБКА: неопределенный префикс пространства имен", когда я делаю это:
doc.search('//text()[not(ancestor::w:delText]')
Основываясь на этом ответе: Как я могу использовать xpath на узлах с префиксом, но без пространства имен?
*[name()="w:delText"]
может вроде решить проблему. Но как мне сделать что-то подобное, чтобы избежать ошибки пространства имен:
doc.search('//text()[not(ancestor::*[name()="w:delText"]')
0 ответов
Я решил проблему, отредактировав файл XML и добавив пространства имен в корне. Вот пример:
temp = Nokogiri::XML(@document_xml)
temp.root['xmlns:w'] = "http://schemas.openxmlformats.org/wordprocessingml/2006/main"
@doc = Nokogiri::XML(temp.to_xml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XML))