Задать вопрос
  • Работа с XML как с SQL. С помощью чего?

    @kontiv
    Для работы с базой данных в формате XML есть вот такие инструменты как, например, BaseX.
    Предоставляет клиент-серверную технологию (для большинства популярных языков есть клиенты) и имеет свой REST API для работы с данными.
    Очень удобен для создания своего API доступа к данным. Языком запросов является XQuery.
    Включены средства доступа к данным SQL.
    Ответ написан
    Комментировать
  • Как узнать путь до элемента xml?

    @kontiv
    например, на Xquery можно так

    declare namespace w = "w";
    
    declare function local:recursion ( $node as element() ) as xs:string {
      if ( $node/parent::* )
      then (
        local:recursion ( $node/parent::* ) || "/" || $node/name() ||
        "[" || count( $node/preceding-sibling::*[ name() = $node/name() ] )+1 || "]"
       )
      else ( $node/name() )
    };
     
    let $xml := 
       <w:body>
          <w:p>
              <w:text>Текст</w:text>
          </w:p>
          <w:p>
              <w:text>Текст</w:text>
              <w:text>Текст</w:text>
          </w:p>
      </w:body>
      
    for $node in $xml//w:text
    return
      local:recursion( $node )

    Ответ получится примерно такой:
    w:body/w:p[1]/w:text[1]
    w:body/w:p[2]/w:text[1]
    w:body/w:p[2]/w:text[2]
    Ответ написан
    Комментировать