数据库网络之xml解析之第2方解析XML,网络之数据解析JSON

By admin in 4858.com on 2019年4月23日

1.导入第一方插件(GDalaXMLNode)

1.导入第三方插件(GDalaXMLNode)

一、解析JSON类型数据

那篇文章意在给自身之后需求时能登时的查到,省得每趟都去baidu. 

 

 

//获取文件路线

  1. 数据库网络之xml解析之第2方解析XML,网络之数据解析JSON。xml解析库-GDataXML 
    参考小说: 
    GDataXML下载地址: 
    (1)GDataXML.h/m文件 
     
    (2)DGataDefines.h GDataTargetNamespace.h 文件 
     

二.第二方插件配置

贰.第一方插件配置

NSString *path = [[NSBundle mainBundle]
pathForResource:@”ActivityList” ofType:@”txt”];

安插进度: 
(1).引入GDataXML(4个文件) 
<arc模式下>.对GDataXML.m增加非arc注释 -fno-objc-arc 
(二).加多系统库 libxml2.dylib 
(3).Head Search Path中添加 /usr/include/libxml2 
(4).Other linker flags中添加 -lxml2 
(5).xml格式 
================================== 
<?xml version=”1.0″ encoding=”utf-8″?>  
<Users>  
    <User id=”001″>  
        <name>Ryan</name>  
        <age>24</age>  
    </User>  
    <User id=”002″>  
        <name>Tang</name>  
        <age>23</age>  
    </User>  
</Users> 
================================== 
(6).应用 
================================== 
//获取工程目录的xml文件  
    NSString *filePath = [[NSBundle mainBundle]
pathForResource:@”users” ofType:@”xml”];  
    NSData *xmlData = [[NSData alloc]
initWithContentsOfFile:filePath];  
      
    //使用NSData对象先河化  
    GDataXMLDocument *doc = [[GDataXMLDocument alloc]
initWithData:xmlData  options:0 error:nil];  
      
    //获取根节点(Users)  
    GDataXMLElement *rootElement = [doc rootElement];  
      
    //获取根节点下的节点(User)  
    NSArray *users = [rootElement elementsForName:@”User”];  
      
    for (GDataXMLElement *user in users) {  
        //User节点的id属性  
        NSString *userId = [[user attributeForName:@”id”]
stringValue];  
        NSLog(@”User id is:%@”,userId);  
          
        //获取name节点的值  
        GDataXMLElement *nameElement = [[user
elementsForName:@”name”] objectAtIndex:0];  
        NSString *name = [nameElement stringValue];  
        NSLog(@”User name is:%@”,name);  
          
        //获取age节点的值  
        GDataXMLElement *ageElement = [[user elementsForName:@”age”]
objectAtIndex:0];  
        NSString *age = [ageElement stringValue];  
        NSLog(@”User age is:%@”,age);  
        NSLog(@”——————-“);  
    } 
================================== 

 

 

//将文件数量读入data中

libxml/tree.h
路径

libxml/tree.h
路径

NSData *data = [NSData dataWithContentsOfFile:path];

 

 

//用系统方法NSJSONSerialization解析,得出最外层的数据类型

在品种性质中–Bulid
Settings中找找 Search

在类型性质中–Bulid
Settings中寻找 Search

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
options:0 error:nil];

 

 

2、XML类型数据解析

–Search Paths 中–Headr
Search Paths 增添路线(/usr/include/libxml二)

–Search Paths 中–Headr
Search Paths 增添路线(/usr/include/libxml二)

一、导入第3方解析工具:GDataXMLNode

 

 

二、在工程中的Bulid Phases先增添libxml二.dylib动态库

4858.com,非ARC

非ARC

3、在工程中的build settings找到Header Search
Path项,加多/usr/include/libxml二

 

 

//获取文件路径

在品种性质中–Bulid
Phases

在等级次序性质中–Bulid
Phases

NSString *path = [[NSBundle mainBundle] pathForResource:@”Cartoon”
ofType:@”xml”];

 

 

//将文件数量读入data中

–Compile Sources
中–GDataXMLNode.m 增加参数(-fno-objc-arc)

–Compile Sources
中–GDataXMLNode.m 加多参数(-fno-objc-arc)

NSData *data = [NSData dataWithContentsOfFile:path];

 

 

//成立GDataXMLDocument对象,此时XML文件内装有节点以树的样式存在GDataXMLDocument

其三方库文件加载

其三方库文件加载

GDataXMLDocument *dom = [[GDataXMLDocument alloc] initWithData:data
options:0 error:nil];

 

 

//获取根节点,根节点里面富含了XML得全数音信

在类型性质中–Bulid
Phases–Link Binary With Libraies–libxml2 文件

在品种性质中–Bulid
Phases–Link Binary With Libraies–libxml二 文件

GDataXMLElement *rootElement = dom.rootElement;

 

 

//    NSLog(@”rootElement–>%@”,rootElement.name);

三.应用第壹方插件

三.利用第二方插件

for (GDataXMLElement *subElement in rootElement.children) {

 

 

//        NSLog(@”subElement–>%@”,subElement.name);

//设置URL

//设置URL

for (GDataXMLElement *child in subElement.children) {

 

 

//            NSLog(@”child—>%@”,child.name);

NSURL * url=[NSUEscortL
U凯雷德LwithString:@”XML远程路线”];

NSURL * url=[NSU福睿斯L
U昂CoraLwithString:@”XML远程路径”];

Cartoon *cartoon = [[Cartoon alloc] init];

 

 

for (GDataXMLElement *subChild in child.children) {

//会话

//会话

[cartoon setValue:subChild.stringValue forKey:subChild.name];

 

 

//                NSLog(@”subChild–>>>>%@”,subChild.name);

NSURLSession *
session=[NSURLSession sharedSession];

NSURLSession *
session=[NSURLSession sharedSession];

}

 

 

//任务

//任务

 

 

NSURLSessionDataTask *
task=[session dataTaskWithURL:url completionHandler:^(){

NSURLSessionDataTask *
task=[session dataTaskWithURL:url completionHandler:^(){

 

 

}];

}];

 

 

//职务开始

//职务开首

 

 

[task resume];

[task resume];

 

 

//数据安全布署

//数据安全配置

 

 

info.plist—OPen
As–Source Code

info.plist—OPen
As–Source Code

 

 

添加

添加

 

 

<key>NSAppTransportSecurity</key>

<key>NSAppTransportSecurity</key>

 

 

<dict>

<dict>

 

 

<key>NSAllowsArbitraryLoads</key>

<key>NSAllowsArbitraryLoads</key>

 

 

<true/>

<true/>

 

 

</dict>

</dict>

 

 

导入第3方库

导入第壹方库

 

 

#import
“GDataXMLNode.h”

#import
“GDataXMLNode.h”

 

 

基于文书档案的解析

依靠文书档案的剖析

 

 

//成立八个文书档案

//成立二个文书档案

 

 

GDataXMLDocument * doc
=[[GDataXMLDocument alloc] initWithData:data options:0
error:nil];

GDataXMLDocument * doc
=[[GDataXMLDocument alloc] initWithData:data options:0
error:nil];

 

 

if(doc){

if(doc){

 

 

//获得根元素

//获得根成分

 

 

GDataXmLElement
*rootElement=doc.rootElement;

GDataXmLElement
*rootElement=doc.rootElement;

 

 

//飞速遍历

//快捷遍历

 

 

for(GDataXmLElement *
student in rootElement.children){

for(GDataXmLElement *
student in rootElement.children){

 

 

for(GDataXmLElement *
property in student.children){

for(GDataXmLElement *
property in student.children){

 

 

NSLog(@”%@,%@”,
property.name,proparey.stringValue):

NSLog(@”%@,%@”,
property.name,proparey.stringValue):

 

 

}

}

 

 

}

}

 

 

}else{

}else{

 

 

}

}

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有