Skip to content

xpath_long(xml, path)

Описание

Функция xpath_long() извлекает длинное целочисленное значение (64-битное) из XML-документа по указанному XPath-выражению.

Параметры

  • xml: Column - столбец с XML-строками
  • path: String - XPath-выражение для извлечения длинного целочисленного значения

Возвращаемое значение

Long - извлеченное длинное целочисленное значение

Пример использования

from pyspark.sql.functions import xpath_long
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("xpath_long_example").getOrCreate()

# Создаем DataFrame с XML-строками
data = [
    ("<product><name>Laptop</name><id>1234567890123</id></product>"),
    ("<product><name>Phone</name><id>9876543210987</id></product>")
]
df = spark.createDataFrame(data, ["xml"])

# Извлекаем идентификаторы продуктов
result = df.select(
    "xml",
    xpath_long("xml", "product/id").alias("product_id")
).show(truncate=False)

# Результат:
# +------------------------------------------------+-------------+
# |xml                                             |product_id   |
# +------------------------------------------------+-------------+
# |<product><name>Laptop</name><id>1234567890123</id></product>|1234567890123|
# |<product><name>Phone</name><id>9876543210987</id></product>|9876543210987|
# +------------------------------------------------+-------------+

Примечания

  • XPath-выражение должно быть корректным
  • Если элемент не найден или не может быть преобразован в длинное целое число, возвращается NULL
  • NULL значения в XML возвращают NULL
  • Для работы с XML также используйте:
  • xpath() для извлечения значений
  • xpath_boolean() для проверки условий
  • xpath_double() для извлечения чисел
  • xpath_int() для извлечения целых чисел
  • xpath_short() для извлечения коротких целых чисел
  • xpath_string() для извлечения строк
  • xml_tuple() для извлечения нескольких значений