parse_xml()
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
XML string
값으로 해석하고, 값을 JSON으로 변환하고, 값을 다음과 같이 dynamic
반환합니다.
구문
parse_xml(
xml)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
xml | string |
✔️ | 구문 분석할 XML 형식 문자열 값입니다. |
반품
xml의 값에 의해 결정되는 동적 형식의 개체이거나 XML 형식이 잘못된 경우 null입니다.
변환은 다음과 같이 수행됩니다.
XML | JSON | Access |
---|---|---|
<e/> |
{ "e": null } | o.e |
<e>text</e> |
{ "e": "text" } | o.e |
<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
는 1MB(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.min
(118.0
및 100.0
각각)를 검색합니다duration.value
.
T
| extend d=parse_xml(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]