parse_xml()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Interpreta a string
como um valor XML, converte o valor em JSON e retorna o valor como dynamic
.
Sintaxe
parse_xml(
xml)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
xml | string |
✔️ | O valor da cadeia de caracteres formatada em XML a ser analisado. |
Devoluções
Um objeto do tipo dynamic que é determinado pelo valor de xml ou null, se o formato XML for inválido.
A conversão é feita da seguinte maneira:
XML | JSON | Access |
---|---|---|
<e/> |
{ "e": null } | o.e |
<e>text</e> |
{ "e": "texto" } | o.e |
<e name="value" /> |
{ "e":{"@name": "valor"} } | o.e["@name"] |
<e name="value">text</e> |
{ "e": { "@name": "valor", "#text": "texto" } } | o.e["@name"] o.e["#text"] |
<e> <a>text</a> <b>text</b> </e> |
{ "e": { "a": "texto", "b": "texto" } } | o.e.a o.e.b |
<e> <a>text</a> <a>text</a> </e> |
{ "e": { "a": ["texto", "texto"] } } | o.e.a[0] o.e.a[1] |
<e> text <a>text</a> </e> |
{ "e": { "#text": "texto", "a": "texto" } } | 1'o.e["#text"] o.e.a |
Observação
- O comprimento máximo de entrada
string
paraparse_xml
é de 1 MB (1.048.576 bytes). A interpretação de cadeias de caracteres mais longas resultará em um objeto nulo. - Somente nós de elemento, atributos e nós de texto serão traduzidos. Todo o resto será ignorado.
Exemplo
No exemplo a seguir, quando context_custom_metrics
é um string
que se parece com isto:
<?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>
em seguida, o seguinte fragmento CSL converte o XML para o seguinte JSON:
{
"duration": {
"value": 118.0,
"count": 5.0,
"min": 100.0,
"max": 150.0,
"stdDev": 0.0,
"sampledValue": 118.0,
"sum": 118.0
}
}
e recupera o valor do duration
slot no objeto e, a partir disso, recupera dois slots, duration.value
e duration.min
(118.0
e 100.0
, respectivamente).
T
| extend d=parse_xml(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]