parse_xml()parse_xml()

Interpreta um string valor como XML, converte o valor para um JSON e devolve o valor como dynamic .Interprets a string as a XML value, converts the value to a JSON and returns the value as dynamic.

SyntaxSyntax

parse_xml(xml)parse_xml(xml)

ArgumentosArguments

  • xml: Uma expressão do string tipo, representando um valor formatado por XML.xml: An expression of type string, representing a XML-formatted value.

DevoluçõesReturns

Um objeto de dinâmica tipo que é determinado pelo valor de xml, ou nulo, se o formato XML for inválido.An object of type dynamic that is determined by the value of xml, or null, if the XML format is invalid.

A conversão é feita como seguinte:The conversion is done as following:

XMLXML JSONJSON AccessAccess
<e/> { "e": nulo }{ "e": null } o.eo.e
<e>text</e> { "e": "texto" }{ "e": "text" } o.eo.e
<e name="value" /> { "e":{" @name ": "valor"} }{ "e":{"@name": "value"} } o.e[" @name "]o.e["@name"]
<e name="value">text</e> { "e": { @name " "value", "#text": "text" } }{ "e": { "@name": "value", "#text": "text" } } o.e[" @name "] o.e["#text"]o.e["@name"] o.e["#text"]
<e> <a>text</a> <b>text</b> </e> { "e": { "a": "texto", "b": "texto" } }{ "e": { "a": "text", "b": "text" } } o.e.a.e.bo.e.a o.e.b
<e> <a>text</a> <a>text</a> </e> { "e": { "a": ["texto", "texto"} }{ "e": { "a": ["text", "text"] } } o.e.a[0] o.e.a[1]o.e.a[0] o.e.a[1]
<e> text <a>text</a> </e> { "e": { "#text": "text", "a": "text" } }{ "e": { "#text": "text", "a": "text" } } 1'o.e["#text"] o.e.a1`o.e["#text"] o.e.a

NotasNotes

  • O comprimento máximo de entrada string parse_xml é de 1MB (1.048.576 bytes).Maximal input string length for parse_xml is 1MB (1,048,576 bytes). A interpretação de cordas mais longas resultará num objeto nuloLonger strings interpretation will result in a null object
  • Apenas os nós de elementos, atributos e nós de texto serão traduzidos.Only element nodes, attributes and text nodes will be translated. Todo o resto será ignorado.Everything else will be skipped

ExemploExample

No exemplo seguinte, quando context_custom_metrics é um que se parece com string este:In the following example, when context_custom_metrics is a string that looks like this:

<?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 traduz o XML para o seguinte JSON:then the following CSL Fragment translates the XML to the following 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 da duration ranhura no objeto, e daí recupera duas ranhuras, duration.value e ( duration.min 118.0 100.0 e, respectivamente).and retrieves the value of the duration slot in the object, and from that it retrieves two slots, duration.value and duration.min (118.0 and 100.0, respectively).

T
| extend d=parse_xml(context_custom_metrics) 
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]