Разбор XML с помощью REXML - PullRequest
       0

Разбор XML с помощью REXML

0 голосов
/ 26 октября 2010

У меня есть этот документ XML, и я хочу найти определенный GitHubCommiter, использующий REXML.Привет, я делаю это?

<users>
 <GitHubCommiter id="Nerian">
  <username>name</username>
  <password>12345</password>
 </GitHubCommiter>

 <GitHubCommiter id="xmawet">
  <username>name</username>
  <password>12345</password>
 </GitHubCommiter>

 <GitHubCommiter id="JulienChristophe">
  <username>name</username>
  <password>12345</password>
  </GitHubCommiter>
</users>

Я пытался:

log = REXML::Document.new(file)                                                      
root = log.root                                                                         username = root.elements["GitHubCommiter['#{github_user_name}']"].elements['username'].text      
password =     root.elements["GitHubCommiter['#{github_user_name}']"].elements['password'].text
root.elements["GitHubCommiter['id'=>'#{github_user_name}']"].text

Но я не нашел способа сделать это.Есть идеи?

1 Ответ

1 голос
/ 26 октября 2010

Документы говорят для elements (выделено мной):

[]( index, name=nil) Извлекает дочерний элементФильтрует только дочерние элементы, независимо от соответствия XPath.

index: параметр поиска.Это либо целое число, которое будет использоваться для поиска индексного дочернего элемента, , либо XPath, который будет использоваться для поиска элемента.должен быть XPath:

root.elements["./GitHubCommiter[@id = '{github_user_name}']"]

и т. д.

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