Много было написано о Нокогири с точки зрения чтения XML с использованием XPath.Однако как насчет использования Nokogiri с XML, содержащим ссылки XPath.
В этом примере xml содержит ссылку XPath:
<elements>
<element>
<location>
<longitude>...
<latitude>...
</location>
</element>
<element>
<location reference="../../element/location"/>
</element>
</elements>
Поскольку оба элемента местоположения равны, только первый элементподробно описано.Второй просто ссылается на первый.
Используя Nokogiri, xml.xpath ('// location') возвращает два экземпляра узла, как и ожидалось.Первый узел содержит все дочерние узлы.Вторая только ссылка в качестве атрибута экземпляра второго узла.
Хорошо, если я хочу запросить все значения долготы, я бы сделал xml.xpath ('// location / longitude') .Это возвращает только один экземпляр узла.Однако, поскольку на самом деле есть два элемента типа "долгота", я ожидал получить два экземпляра узла, ожидая, что Nokogiri разрешит ссылки XPath ...
Как мне достичь этого с помощью Nokogiri?