根据名称和索引获取子元素 - XmlGetChildByNameAndIndex
函数简介
根据名称和索引获取子元素。
接口名称
XmlGetChildByNameAndIndex
DLL调用
int64_t XmlGetChildByNameAndIndex(int64_t parent, const char* name, int32_t index, int32_t* err);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| parent | 长整数型 | 父元素句柄 |
| name | 字符串 | 元素名称 |
| index | 整数型 | 在同名元素中的索引(从0开始) |
| err | 整数型 | 错误码输出参数,可为NULL |
示例
int32_t err = 0;
const char* xmlStr =
"<root>"
" <item>First</item>"
" <item>Second</item>"
" <item>Third</item>"
"</root>";
int64_t doc = XmlParse(xmlStr, &err);
int64_t root = XmlGetRootElement(doc, &err);
// 获取第二个item元素
int64_t secondItem = XmlGetChildByNameAndIndex(root, "item", 1, &err);
if (secondItem != 0) {
const char* text = XmlGetElementText(secondItem, &err);
printf("第二个item:%s\n", text); // 输出:Second
FreeStringPtr(instance, text);
}
XmlFree(doc);
返回值
返回子元素句柄,失败时返回0。
注意事项
- 索引从0开始
- 只在同名元素中计数
- 如果索引超出范围,返回0
