XML解析之dom方式GDataXMLNode

1 篇文章 0 订阅
1 篇文章 0 订阅

1、从github上下载GDataXMLNode.hGDataXMLNode.m

2、将这两个文件加入工程目录

3、根据.h中的要求进行配置


   


由于

GDataXMLNode.m是非ARC的,所有需要对该文件设置以feiARC的方式编译:


配置结束;

XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSURLSessionDownloadURL</key>
	<string>http://mp3.ffxia.com//13/%E4%BB%BB%E5%A6%99%E9%9F%B3-%E9%A3%8E%E7%AD%9D%5B68mtv.com%5D.mp3</string>
	<key>NSURLSessionResumeBytesReceived</key>
	<integer>978180</integer>
	<key>NSURLSessionResumeCurrentRequest</key>
	<data>
	YnBsaXN0MDDUAQIDBAUGcnNYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
	AAGGoK8QFwcIKUVLTFJTVFU4VjpXWGRlZmdoaWpuVSRudWxs3xAeCQoLDA0ODxAREhMU
	FRYXGBkaGxwdHh8gISIjJCUmJygpKissLSgvMDErMysqKio4Jzo7Kj0qPyo7QjhDUyQx
	MlIkM18QHnJlcXVpcmVzU2hvcnRDb25uZWN0aW9uVGltZW91dFMkMjVTJDE3UiQ0UyQy
	MVMkMTNWJGNsYXNzUiQ1UyQxOFIkNlMkMjJTJDE0UiQ3UyQxOVMkMTBfEBpwYXlsb2Fk
	VHJhbnNtaXNzaW9uVGltZW91dFIkOFIkMFMkMTVTJDIzUiQ5UyQxMVIkMVMkMjRTJDE2
	UiQyXxAQc3RhcnRUaW1lb3V0VGltZVMkMjCACIACCIAAgAeAA4ANgAKAFoAGgAuAB4AO
	gAeAAIAAgAAjAAAAAAAAAACACBACgAqAAIAJgAAQCYAAgAoQFoAMCNNGEUcqSUpXTlMu
	YmFzZVtOUy5yZWxhdGl2ZYAAgAWABF8QWmh0dHA6Ly9tcDMuZmZ4aWEuY29tLy8xMy8l
	RTQlQkIlQkIlRTUlQTYlOTklRTklOUYlQjMtJUU5JUEzJThFJUU3JUFEJTlEJTVCNjht
	dHYuY29tJTVELm1wM9JNTk9QWiRjbGFzc25hbWVYJGNsYXNzZXNVTlNVUkyiT1FYTlNP
	YmplY3QjQE4AAAAAAAAQAAkQBBP//1NHRVTTWVoRW19jV05TLmtleXNaTlMu
	b2JqZWN0c6NcXV6AD4AQgBGjYGFigBKAE4AUgBVfEA9BY2NlcHQtRW5jb2RpbmdWQWNj
	ZXB0XxAPQWNjZXB0LUxhbmd1YWdlXWd6aXAsIGRlZmxhdGVTKi8qVWVuLXVz0k1Oa2xc
	TlNEaWN0aW9uYXJ5om1RXE5TRGljdGlvbmFyedJNTm9wXE5TVVJMUmVxdWVzdKJxUVxO
	U1VSTFJlcXVlc3RfEA9OU0tleWVkQXJjaGl2ZXLRdHVUcm9vdIABAAgAEQAaACMALQAy
	ADcAUQBXAJYAmgCdAL4AwgDGAMkAzQDRANgA2wDfAOIA5gDqAO0A8QD1ARIBFQEYARwB
	IAEjAScBKgEuATIBNQFIAUwBTgFQAVEBUwFVAVcBWQFbAV0BXwFhAWMBZQFnAWkBawFt
	AXYBeAF6AXwBfgGAAYIBhAGGAYgBigGMAY0BlAGcAagBqgGsAa4CCwIQAhsCJAIqAi0C
	NgI/AkECQgJEAk0CUQJYAmACawJvAnECcwJ1AnkCewJ9An8CgQKTApoCrAK6Ar4CxALJ
	AtYC2QLmAusC+AL7AwgDGgMdAyIAAAAAAAACAQAAAAAAAAB2AAAAAAAAAAAAAAAAAAAD
	JA==
	</data>
	<key>NSURLSessionResumeInfoTempFileName</key>
	<string>CFNetworkDownload_4jbUu3.tmp</string>
	<key>NSURLSessionResumeInfoVersion</key>
	<integer>2</integer>
	<key>NSURLSessionResumeOriginalRequest</key>
	<data>
	YnBsaXN0MDDUAQIDBAUGTk9YJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
	AAGGoKwHCCM5P0BGR0gvSUpVJG51bGzfEBgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh
	IiMkJSInKCkkJCwsLC8hMTIkLDUyNy9TJDEyUiQzXxAecmVxdWlyZXNTaG9ydENvbm5l
	Y3Rpb25UaW1lb3V0UyQxN1IkNFMkMTNWJGNsYXNzUiQ1UyQxOFIkNlMkMTRSJDdTJDE5
	UyQxMF8QGnBheWxvYWRUcmFuc21pc3Npb25UaW1lb3V0UiQ4UiQwUyQxNVIkOVMkMTFS
	JDFTJDE2UiQyXxAQc3RhcnRUaW1lb3V0VGltZYAIgAIIgAeAA4ACgAuABoAKgAeAB4AA
	gACAACMAAAAAAAAAAIAIEAKACYAHgAAQCYAJEBAI0zoPOyw9PldOUy5iYXNlW05TLnJl
	bGF0aXZlgACABYAEXxBaaHR0cDovL21wMy5mZnhpYS5jb20vLzEzLyVFNCVCQiVCQiVF
	NSVBNiU5OSVFOSU5RiVCMy0lRTklQTMlOEUlRTclQUQlOUQlNUI2OG10di5jb20lNUQu
	bXAz0kFCQ0RaJGNsYXNzbmFtZVgkY2xhc3Nlc1VOU1VSTKJDRVhOU09iamVjdCNATgAA
	AAAAABAACRP//9JBQktMXE5TVVJMUmVxdWVzdKJNRVxOU1VSTFJlcXVlc3Rf
	EA9OU0tleWVkQXJjaGl2ZXLRUFFUcm9vdIABAAgAEQAaACMALQAyADcARABKAH0AgQCE
	AKUAqQCsALAAtwC6AL4AwQDFAMgAzADQAO0A8ADzAPcA+gD+AQEBBQEIARsBHQEfASAB
	IgEkASYBKAEqASwBLgEwATIBNAE2AT8BQQFDAUUBRwFJAUsBTQFPAVABVwFfAWsBbQFv
	AXEBzgHTAd4B5wHtAfAB+QICAgQCBQIOAhMCIAIjAjACQgJFAkoAAAAAAAACAQAAAAAA
	AABSAAAAAAAAAAAAAAAAAAACTA==
	</data>
	<key>NSURLSessionResumeServerDownloadDate</key>
	<string>Fri, 19 Aug 2016 08:42:34 GMT</string>
</dict>
</plist>


代码的实现:

GDataXMLDocument * document=[[GDataXMLDocument alloc] initWithData:resumeData options:0 error:nil];// 拿到整个xml文件
GDataXMLElement *rootElements = document.rootElement; // 取出根节点
NSArray *elementsArray = [rootElements elementsForName:@"dict"];// 标签为dict的节点
for (GDataXMLElement *element in elementsArray) {  // 根据标签嵌套的层数,进行相应的循环即可
            
    for (GDataXMLElement *sunElement in element.children) {
          NSLog(@"%@",sunElement.name);  // 该节点的标签名
          NSLog(@"%@",sunElement.stringValue);// 标签之间字符串值  
<pre name="code" class="objc">          sunElement.attributeForName //取出属性节点的值
} }

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值