Выбор узла по атрибуту пространства имен в nodejs с помощью xpath

Я документ SVG (созданный Inkscape)

Теперь я хочу манипулировать некоторыми элементами в документе с помощью Nodejs. Для этого мне нужно выбрать узлы по их (namespaced) значению атрибута. Мой XML Doc выглядит так:

  ...
  </g>
  <g
     inkscape:label="Border"
     inkscape:groupmode="layer"
     id="layer1"
     sodipodi:insensitive="true"
     style="display:inline" />
  ...

Мой код выглядит так:

var xpath = require('xpath')
  , dom = require('xmldom').DOMParser

var template = new dom().parseFromString(require('fs').readFileSync('file.svg').toString());
var nodes = xpath.select("//g[@inkscape:label='Border']", template);

Но nodes это пустой массив. Зачем? Что я должен исправить? Нужно ли вручную регистрировать inkscape Пространство имен?

0 ответов

Другие вопросы по тегам