获取元素深度 - XmlGetElementDepth
函数简介
获取元素的深度(从根元素开始计数)。
接口名称
XmlGetElementDepth
DLL调用
int32_t XmlGetElementDepth(int64_t element, int32_t* err)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| element | int64_t | 元素句柄 |
| err | int32_t* | 错误码输出参数,可为NULL |
示例
int32_t err = 0;
const char* xmlStr =
"<root>"
" <level1>"
" <level2>"
" <level3/>"
" </level2>"
" </level1>"
"</root>";
int64_t doc = XmlParse(xmlStr, &err);
int64_t root = XmlGetRootElement(doc, &err);
int32_t depth = XmlGetElementDepth(root, &err);
printf("根元素深度:%d\n", depth); // 输出:0
int64_t level3 = XmlQueryElement(doc, "root/level1/level2/level3", &err);
depth = XmlGetElementDepth(level3, &err);
printf("level3深度:%d\n", depth); // 输出:3
XmlFree(doc);
返回值
| 返回值类型 | 说明 |
|---|---|
| int32_t | 返回元素深度,根元素为0,失败时返回-1 |
注意事项
- 根元素深度为0
- 每向下一层,深度加1
- 可用于判断元素在XML树中的位置
