libxml-读取xml文件该怎么进行遍历啊?C/C++语言

问题描述

读取xml文件该怎么进行遍历啊?C/C++语言

请教大牛,我用的是libxml库,如果我这样,可以把所有都遍历一遍吗?(伪代码)
获得root节点;

 curNode = root->children;
while(curNode)
{
      xmlTravel = curNode;
      while(xmlTravel)
       {
                            xmlTravel = xmlTravel->next;
       }
}

对吗?还有什么办法吗?
我希望得到指定的
<属性> 以及
<>内容<>
"内容"该怎么写?

解决方案

int GetProperNode( xmlNodePtr xmlCur, char cpNodeName, char *cpPropName, char *cpValue )
{
char *cpProp = NULL;
while( xmlCur != NULL )
{
if( xmlStrcmp( xmlCur->name, ( const char * )cpNodeName ) == 0 )
{ /
找到了想要的属性 */
cpProp = ( char * )xmlGetProp( xmlCur, BAD_CAST cpPropName );
strcpy( cpValue, cpProp );
xmlFree( cpProp );
return 1;
}

    if( xmlCur->xmlChildren != NULL )
    {   /* 如果还有子节点,继续遍历 */
        if( GetProperNode( xmlCur->xmlChildren, cpNodeName, cpPropName, cpValue ) )
        {
            return 1;
        }
    }

    /* 兄弟节点 */
    xmlCur = xmlCur->next;
}

return 0;

}

解决方案二:

java遍历文件夹读取文件进行处理
C Windows 读取文件夹 遍历文件
C语言中也可以方便地进行遍历

解决方案三:

int GetProperNode( xmlNodePtr xmlCur, char cpNodeName, char *cpPropName, char *cpValue )
{
char *cpProp = NULL;
while( xmlCur != NULL )
{
if( xmlStrcmp( xmlCur->name, ( const char * )cpNodeName ) == 0 )
{ /
找到了想要的属性 */
cpProp = ( char * )xmlGetProp( xmlCur, BAD_CAST cpPropName );
strcpy( cpValue, cpProp );
xmlFree( cpProp );
return 1;
}

    if( xmlCur->xmlChildren != NULL )
    {   /* 如果还有子节点,继续遍历 */
        if( GetProperNode( xmlCur->xmlChildren, cpNodeName, cpPropName, cpValue ) )
        {
            return 1;
        }
    }

    /* 兄弟节点 */
    xmlCur = xmlCur->next;
}

return 0;

}


时间: 2024-09-29 05:04:52

libxml-读取xml文件该怎么进行遍历啊?C/C++语言的相关文章

java遍历读取xml文件内容_java

本文实例讲解了java遍历读取xml文件内容的详细代码,分享给大家供大家参考,具体内容如下 package test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; imp

一个读取xml文件内容的类

xml 一个读取xml文件内容的类 package project.util.xml; import java.io.*;import java.util.*;import javax.servlet.http.*;import org.apache.log4j.*;import org.jdom.*;import org.jdom.input.*; /*** <p>Title: <font color="steelblue" size="10"&

treeview-PowerBuilder9.0 如何使用PBDOM读取XML文件,并将其显示在TreeView中

问题描述 PowerBuilder9.0 如何使用PBDOM读取XML文件,并将其显示在TreeView中 PowerBuilder9.0 如何使用PBDOM读取XML文件,并将其显示在TreeView中 解决方案 http://blog.csdn.net/lxqluo/article/details/6109144 解决方案二: OLEObject lobj_dom OLEObject lole_domnodelist,lole_domcurnode string as_xml,ls_node

python读取xml文件

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件.   什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <m

JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)_javascript技巧

本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: <?xml version="1.0" standalone="yes"?> <student> <stuinfo> <stuName>张秋丽</stuName> <stuSex>女 </stuSex> <stuAge>18</stuAge>

java-XmlReader读取xml文件太慢是为什么,我用的是dom4j

问题描述 XmlReader读取xml文件太慢是为什么,我用的是dom4j SAXReader sax = new SAXReader(); Document xmlDoc = sax.read(new File("c://abc.xml")); 解决方案 跟你主机有关系的,问下你的空间商 解决方案二: DOM4J读取XML文件dom4j读取xml文件DOM4J读取XML文件 解决方案三: dom4j读取xml文件时,是读取所有树及节点的信息到内存中,再执行下一步的代码,所以会慢. 解

jQuery 行级解析读取XML文件(附源码)_jquery

最近在做一个项目,因为页面使用了Cookie,所以要判断用户的浏览器是否支持Cookie,并提示用户如何开启浏览器的Cookie功能.同时,整个项目要配置多语言支持,包括中文.越南语.日语和英语,所以必须有语言配置文件.项目中应用jQuery解析读取XML语言配置文件来实现语言的调度.这是jQuery解析读取XML文件功能的测试源码,现拿出来分享.目录结构: main.css文件代码: 复制代码 代码如下: @CHARSET "UTF-8"; * { margin: 0px; padd

Java如何读取XML文件 具体实现_java

今天的CSDN常见问题来讲解下在Java中如何读取XML文件的内容. 直接上代码吧,注释写的很清楚了! 复制代码 代码如下: import java.io.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;im

DOM4J 问题,以下是XML文件 ,我在读取XML文件的时候,不能将两个配置都读取出来,不知道大家有没办法。。。

问题描述 DOM4J问题,以下是XML文件,我在读取XML文件的时候,不能将两个配置都读取出来,不知道大家有没办法...publicclassHandleXml{privatestaticURLurl=Thread.currentThread().getContextClassLoader().getResource("");privatestaticElementroot;privatestaticList<RegService>regList=newArrayList&