iphone-common-codes-ccteam源代码 CCXml.h

本文介绍了CCXml解析库的基本结构和使用方法。该库用于在iOS应用中解析XML文件,提供了DOM解析方式,并实现了相关节点操作及属性管理等功能。文章详细展示了CCXml、CCXmlNode与CCXmlProperty三个核心类的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//
//  CCXml.h
//  CCFC
//
//  Created by xichen on 11-12-19.
//  Copyright 2011 ccteam. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <libxml/parser.h>                       // libxml2.2.dylib or some dylib is like this


@interface CCXmlProperty : NSObject
{
@private
        xmlAttrPtr              _attr;
}

- (id)initWithAttr:(xmlAttrPtr)attr;
- (void)dealloc;

@end


@interface CCXmlNode : NSObject
{
@public
        xmlNodePtr              _node;
@private
        CCXmlNode               *_next;
        CCXmlNode               *_prev;
        CCXmlNode               *_last;
        CCXmlNode               *_child;
        CCXmlNode               *_parent; 

        unsigned char   *_name;
        unsigned char   *_content;
}

+ (id)nodeWithNode:(CCXmlNode *)node;
- (id)initWithNode:(xmlNodePtr)node;
- (void)dealloc;

- (int)type;
- (CCXmlNode *)next;
- (CCXmlNode *)prev;
- (CCXmlNode *)last;
- (CCXmlNode *)child;
- (CCXmlNode *)parent;
- (unsigned char *)name;
- (unsigned char *)text;
- (unsigned char *)getProp:(const char *)propName;
- (void)setProp:(const char *)name withValue:(const char *)value;

@end

// a simple DOM parse class
@interface CCXml : NSObject 
{
@private
        xmlDocPtr               _doc;
        CCXmlNode               *_rootNode;
        
        NSMutableArray  *_firstLevelNodesArr;   // array of CCXmlNode* elements
}

// if the xml file isn't valid, then returns nil
- (id)initWithFileFullPath:(NSString *)fileFullPath;
- (void)dealloc;

- (CCXmlNode *)getRootNode;
- (NSArray *)firstLevelNodeArr;

- (NSArray *)getSubElementNodeArr:(CCXmlNode *)mainNode;

@end

可能有更新:

googlecode链接地址: http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCXml.h

github地址: https://github.com/cxsjabc/iphone-common-codes-ccteam/tree/master/CCFC/files/CCXml.h



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值