libxml的使用(2)--读取节点属性

前端之家收集整理的这篇文章主要介绍了libxml的使用(2)--读取节点属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

http://blog.csdn.net/hdutigerkin/article/details/7546907

上一篇文章当中,我读取了各个节点的名字和内容,现在我将读取各个节点的属性

  1. @H_502_20@<?xmlversion="1.0"encoding="UTF-8"@H_502_20@?>
  2. @H_502_20@<root@H_502_20@>
  3. @H_502_20@<node1@H_502_20@>content1@H_502_20@</node1@H_502_20@>
  4. @H_502_20@<node2attribute="yes"@H_502_20@>content2@H_502_20@</node2@H_502_20@>
  5. @H_502_20@<node3@H_502_20@>
  6. @H_502_20@<subnode@H_502_20@>go@H_502_20@</subnode@H_502_20@>
  7. @H_502_20@</node3@H_502_20@>
  8. @H_502_20@</root@H_502_20@>

这是上一篇文章中提到的xml文件

在node2这个节点上有一个属性attribute,其值是yes。我们可以使用xmlGetProp这个函数将其提取出来。这个函数包含了两个变量,一个是将要提取属性的节点指针xmlNodePtr,另一个是属性名称

[cpp] ?
    xmlChar*attr_value=NULL;
  1. if(!xmlStrcmp(node->name,(constxmlChar*)"node2")){
  2. attr_value=xmlGetProp(node,"attribute");
  3. printf("attributevalue:%s\n",attr_value);
  4. xmlFree(attr_value);
  5. }
这样我们就提取出了yes这个字符串了!

猜你在找的XML相关文章