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