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