/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend.Addons/Formatters/XmlFormatter.cs
38 строк
1 KB
Ivan Kozhin
Implement safe mode calls
04 фев 2024, 05:48
04 фев 2024, 05:48
4a5c0e3
Код
Авторство
О чём код?
using System.ComponentModel; using QueryCat.Backend.Core.Data; using QueryCat.Backend.Core.Functions; using QueryCat.Backend.Core.Types; namespace QueryCat.Backend.Addons.Formatters; internal class XmlFormatter : IRowsFormatter { [SafeFunction] [Description("XML formatter.")] [FunctionSignature("xml(xpath?: string): object<IRowsFormatter>")] public static VariantValue Xml(FunctionCallInfo args) { var rowsSource = new XmlFormatter(args.GetAtOrDefault(0).AsString); return VariantValue.CreateFromObject(rowsSource); } private readonly string? _xpath; public XmlFormatter(string? xpath = null) { _xpath = xpath; } /// <inheritdoc /> public IRowsInput OpenInput(Stream input, string? key = null) => new XmlInput(new StreamReader(input), _xpath, key ?? string.Empty); /// <inheritdoc /> public IRowsOutput OpenOutput(Stream output) => new XmlOutput(output); public static void RegisterFunctions(IFunctionsManager functionsManager) { functionsManager.RegisterFunction(Xml); } }