parse_xml()
Интерпретирует как string
XML-значение, преобразует значение в JSON и возвращает значение как dynamic
.
Синтаксис
parse_xml(
xml)
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
xml | string |
✔️ | Строковое значение в формате XML для анализа. |
Возвращаемое значение
Объект типа dynamic , который определяется значением xml или null, если формат XML недопустим.
Преобразование выполняется следующим образом:
XML | JSON | Access |
---|---|---|
<e/> |
{ "e": null } | о.е. |
<e>text</e> |
{ "e": "text" } | о.е. |
<e name="value" /> |
{ "e":{"@name": "value"} } | o.e["@name"] |
<e name="value">text</e> |
{ "e": { "@name": "value", "#text": "text" } } | o.e["@name"] o.e["#text"] |
<e> <a>text</a> <b>text</b> </e> |
{ "e": { "a": "text", "b": "text" } } | o.e.a o.e.b |
<e> <a>text</a> <a>text</a> </e> |
{ "e": { "a": ["text", "text"] } } | o.e.a[0] o.e.a[1] |
<e> text <a>text</a> </e> |
{ "e": { "#text": "text", "a": "text" } } | 1'o.e["#text"] o.e.a |
Примечание
- Максимальная длина входных данных
string
дляparse_xml
составляет 1 МБ (1 048 576 байт). Более длинная интерпретация строк приведет к созданию объекта NULL. - Будут переведены только узлы элементов, атрибуты и текстовые узлы. Все остальное будет пропущено.
Пример
В следующем примере context_custom_metrics
представляет собой string
, который выглядит следующим образом.
<?xml version="1.0" encoding="UTF-8"?>
<duration>
<value>118.0</value>
<count>5.0</count>
<min>100.0</min>
<max>150.0</max>
<stdDev>0.0</stdDev>
<sampledValue>118.0</sampledValue>
<sum>118.0</sum>
</duration>
затем следующий фрагмент CSL преобразует XML в следующий код JSON:
{
"duration": {
"value": 118.0,
"count": 5.0,
"min": 100.0,
"max": 150.0,
"stdDev": 0.0,
"sampledValue": 118.0,
"sum": 118.0
}
}
и извлекает значение слота duration
в объекте , а из этого извлекает два слота и duration.value
duration.min
(118.0
и 100.0
соответственно).
T
| extend d=parse_xml(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по