xpath(xml, path)
Описание
Функция xpath() извлекает значения из XML-документа по указанному XPath-выражению и возвращает их в виде массива строк.
Параметры
xml: Column - столбец с XML-строкамиpath: String - XPath-выражение для извлечения значений
Возвращаемое значение
Array[String] - массив строк с извлеченными значениями
Пример использования
from pyspark.sql.functions import xpath
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("xpath_example").getOrCreate()
# Создаем DataFrame с XML-строками
data = [
    ("<products><product><name>Laptop</name></product><product><name>Phone</name></product></products>"),
    ("<products><product><name>Tablet</name></product></products>")
]
df = spark.createDataFrame(data, ["xml"])
# Извлекаем названия всех продуктов
result = df.select(
    "xml",
    xpath("xml", "products/product/name").alias("product_names")
).show(truncate=False)
# Результат:
# +------------------------------------------------------------------+------------------+
# |xml                                                               |product_names     |
# +------------------------------------------------------------------+------------------+
# |<products><product><name>Laptop</name></product><product><name>Phone</name></product></products>|[Laptop, Phone]   |
# |<products><product><name>Tablet</name></product></products>       |[Tablet]          |
# +------------------------------------------------------------------+------------------+
 Примечания
- XPath-выражение должно быть корректным
 - Если элементы не найдены, возвращается пустой массив
 - NULL значения в XML возвращают NULL
 - Функция возвращает все найденные значения в виде массива строк
 - Для работы с XML также используйте:
 xpath_boolean()для проверки условийxpath_double()для извлечения чиселxpath_int()для извлечения целых чиселxpath_long()для извлечения длинных целых чиселxpath_short()для извлечения коротких целых чиселxpath_string()для извлечения строкxml_tuple()для извлечения нескольких значений