Ruby hpricot не любит тире в символе, есть ли обходной путь? - PullRequest
0 голосов
/ 24 марта 2010

Я пытаюсь проанализировать XML-файл с помощью hpricot. Элемент xml, который я пытаюсь получить, имеет черту, и, следовательно, проблема, с которой я сталкиваюсь

XML

<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <trans-unit>
    <source>"%0" can not be found. Please try again.</source>
    <target>"%0" can not be found. Please try again.</target>
  </trans-unit>
</xliff>

гь

  def read_in_xliff(xlf_file_name)
    stream = open(xlf_file_name) {|f| Hpricot(f)}
    (stream/:xliff/:'trans-unit').each do |transunit|
..........

Это не работает из-за тире. Если я переименую тэг в transunit и отредактирую ссылку на символ соответственно, все будет в порядке. Я думал, что использование символа между кавычками должно работать, но hpricot, похоже, не нравится. Кто-нибудь может подумать об обходном пути?

Заранее спасибо

1 Ответ

0 голосов
/ 24 марта 2010

Это должно работать, и оно работает для меня. Более подробный ответ потребует более подробного сообщения об ошибке, чем «Hpricot, похоже, не нравится».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...