Сумма значений Xpath из нескольких узлов - PullRequest
0 голосов
/ 31 октября 2019

Итак, я хочу узнать общее время показа фильмов, где «Звездные войны» входит в название фильма. Должен вернуть целое число

// Disney / Дочерние / дочерние компании [@ id = 'Lucasfilms']

  <Subsidiary id="Lucasfilms">

  <Movie>
    <Name lang="en">Star Wars: The Force Awakens</Name>
    <Year>2015</Year>
    <ScreenTime unit="minutes">135</ScreenTime>
    <Cast>
  <Movie>
    <Name lang="en">Star Wars: The Last Jedi</Name>
    <Year>2017</Year>
    <ScreenTime unit="minutes">152</ScreenTime>
    <Cast>
  <Movie>
    <Name lang="en">Solo: A Star Wars Story</Name>
    <Year>2018</Year>
    <ScreenTime unit="minutes">135</ScreenTime>
    <Cast>

Я знаю, что вы должны использовать сумму, но я изо всех сил пытаюсь поставить еевсе вместе. Может кто-нибудь, пожалуйста, помогите мне

1 Ответ

1 голос
/ 31 октября 2019

Я построил правильно сформированный XML, основанный на моем воображении. Вот рабочий пример для вас.

XML

<Disney>
    <Subsidiaries>
        <Subsidiary id="Lucasfilms">
            <Movie>
                <Name lang="en">Star Wars: The Force Awakens</Name>
                <Year>2015</Year>
                <ScreenTime unit="minutes">135</ScreenTime>
            </Movie>
            <Movie>
                <Name lang="en">Star Wars: The Last Jedi</Name>
                <Year>2017</Year>
                <ScreenTime unit="minutes">152</ScreenTime>
            </Movie>
            <Movie>
                <Name lang="en">Solo: A Star Wars Story</Name>
                <Year>2018</Year>
                <ScreenTime unit="minutes">135</ScreenTime>
            </Movie>
        </Subsidiary>
    </Subsidiaries>
</Disney>

XPath

sum(/Disney/Subsidiaries/Subsidiary[@id='Lucasfilms']/Movie/ScreenTime/text())

Результат:

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