У меня был аналогичный вопрос, и я получил очень полезный ответ. Теперь вопрос немного другой, поэтому я отправляю его. Я указываю, что это вопрос, связанный с XPath 1. Это содержимое моего файла XML:Запрос XPath 1
<?xml version="1.0" encoding="ISO-8859-1"?>
<mainNode>
<subNode>
<h hm="08:45">
<store id="1563">Open</store>
</h>
<h hm="13:00">
<store id="1045">Open</store>
<store id="763">Open</store>
<store id="1047">Open</store>
</h>
<h hm="16:30">
<store id="1045">Open</store>
<store id="763">Open</store>
<store id="1047">Open</store>
</h>
<h hm="20:00">
<store id="1045">Open</store>
<store id="1043">Open</store>
<store id="1052">Open</store>
</h>
<h hm="22:00">
<store id="763">Open</store>
<store id="1052">Open</store>
</h>
</subNode>
</mainNode>
Моя программа получает текущее время: если я получаю 12.40, я должен получить все магазины идентификатор следующего ч кабельтовых (13.00): этот вопрос был решен ,
После извлечения данных со вторым запросом XPath я должен получить до тех пор, пока в течение текущего дня (из которого XML-файл не будет представлен) один магазин будет открыт. Итак, представьте себе, что в магазине находится идентификатор с идентификатором id = 1045, а теперь это 12.40 утра. Этот магазин будет закрыт в 20.00, потому что он находится в hnm = 13.00 subnode, в h hm = 16.30 subnode и в h hm = 20.00 subnode. Итак, я должен получить это 20.00.
Дело 2: это 12.40, и я должен знать, когда 763 закроется. Он закрывается в 16.30, независимо от того, включен ли он в последний узел (h hm = 22.00). Итак, я должен получить это 16.30.
Возможно ли это?
Заранее спасибо.
Уважаемые все, я сделал несколько последовательных изменений. Теперь решение является правильным и готовым к просмотру. Удачи :) –
@vyger Да, вы были правы, и я исправил эту последнюю недостающую часть в своем ответе. Спасибо –
@vyger Выражение XPath в моем ответе - это решение вашей второй проблемы (оно также решает первую проблему, и это не недостаток :)) –