# Xpath

XPath (XML Path Language) - это язык запросов, используемый для навигации и поиска информации в XML-документах. Он позволяет точно указать путь к элементам, атрибутам и текстовым данным, которые нужно найти в структуре XML файлов и получить данные при необходимости.

Ниже приведем несколько примеров указания путей к элементам, которые вам могут понадобиться

### 1. Указать путь к товарам

{% code lineNumbers="true" fullWidth="true" %}

```xml
<!--
    shop/offers/offer - путь до товаров -> массив объектов offer
-->
<yml_catalog>
    <shop>
        <offers>
            <offer id="123">
                <name>ПЛАТЬЕ Белое</name>
                <price>2080</price>
                <quantity>8</quantity>
                <vendorCode>А123</vendorCode>
                <picture>https://site.ru/upload/А123.jpg</picture>
            </offer>
            <offer id="456">
                <name>ПЛАТЬЕ Черное</name>
                <price>2080</price>
                <quantity>10</quantity>
                <vendorCode>А456</vendorCode>
                <picture>https://site.ru/upload/А456.jpg</picture>
            </offer>
        </offers>
    </shop>
<yml_catalog>

<!--
    offers/ДетальнаяЗапись - путь до товаров -> массив объектов ДетальнаяЗапись
-->
<shop>
    <offers>
        <ДетальнаяЗапись>
            <ID>123</ID>
            <Наименование>ПЛАТЬЕ Белое</Наименование>
            <Цена>2080</Цена>
            <Доступноеколичество>8</Доступноеколичество>
            <Артикул>А123</Артикул>
            <Изображение>https://site.ru/upload/А123.jpg</Изображение>
        </ДетальнаяЗапись>
        <ДетальнаяЗапись>
            <ID>456</ID>
            <Наименование>ПЛАТЬЕ Черное</Наименование>
            <Цена>2080</Цена>
            <Доступноеколичество>10</Доступноеколичество>
            <Артикул>А456</Артикул>
            <Изображение>https://site.ru/upload/А456.jpg</Изображение>
    <offers>
</shop>
```

{% endcode %}

### 2. Выборка элементов

{% code lineNumbers="true" fullWidth="true" %}

```xml
<!--
    name - выберет занчение элемент с название тэга 'name' -> ПЛАТЬЕ Белое
    param[@name='Артикул'] - выберет атрибут с названием "name" равный занчению "Артикул" -> А123
    variant/@size - выберет занчение атрибута 'size' -> 56
    outlets/outlet/@instock - выберет занчение атрибута 'instock' -> 2
-->
<offer id="123">
    <name>ПЛАТЬЕ Белое</name>
    <param name="Артикул">А123</param>
    <variant size="56"/>
    <outlets>
        <outlet instock="2"/>			
    </outlets>
</offer>

<!--
    *[starts-with(name(.),'Изображение_')] - выбрать все элементы, у которых название тэга начинается на "Изображение_" -> массив значений "Изображение_"
-->
<Товар>
    <Код>123</Код>
    <Наименование>ПЛАТЬЕ Белое</Наименование>
    <Изображение_1>https://site.ru/upload/А123_1.jpg</Изображение_1>
    <Изображение_2>https://site.ru/upload/А123_2.jpg</Изображение_2>
    <Изображение_3>https://site.ru/upload/А123_3.jpg</Изображение_3>
</Товар >

<!--
    characteristic[name='Вес, кг']/value - выберет занчение элемента 'value', в котором есть элемент 'name' равный 'Вес, кг' -> 0,374
-->
<product>
    <sku>123</sku>
    <title>ПЛАТЬЕ Белое</title>
    <characteristic>
        <name>Вес, кг</name>
        <value>0,374</value>
    </characteristic>
    <characteristic>
        <name>Длина изделия, мм</name>
        <value>250</value>
    </characteristic>
</product>

<!--
    picture[1] - выберет только первое значение с тэгом 'picture' -> https://site.ru/upload/А123_1.jpg
-->
<offer id="123">
    <name>ПЛАТЬЕ Белое</name>
    <picture>https://site.ru/upload/А123_1.jpg</picture>
    <picture>https://site.ru/upload/А123_2.jpg</picture>
    <picture>https://site.ru/upload/А123_3.jpg</picture>>
</offer>
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.morozovpimnev.ru/megaimport/xpath.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
