xml文件解析

2021-07-15 17:53:16 字數 3605 閱讀 2567

#import

"gdataxmlnode.h" //

建立xml文件

取出所有

promotion節點

nsarray

*array = [document

nodesforxpath

:@"//promotion"

error

:nil];

//建模

for(

gdataxmlelement

*element

inarray)

使用gdata庫

#import

"gdataxmlnode.h"

//1.

找到xml文件

nsstring

*path = [[

nsbundle

mainbundle

]pathforresource

:@"xml"

oftype

:@"txt"];

//2.

將資料轉化成

nsdata型別

nsdata

*data = [

nsdata

datawithcontentsoffile

:path

options:0

error

:nil];

//3.解析

//將xml檔案轉化成三方庫可以識別的文件

gdataxmldocument

*document = [[

gdataxmldocument

alloc

]initwithdata

:data

options:0

error

:nil];

//通過xpath

語法找到根節點下所有的名字為

systemconfig

的節點

nsarray

*array = [document

nodesforxpath

:@"//systemconfig"

error

:nil];

//拿到當前的

systemconfig節點

//gdataxmlelement:

代表乙個節點

gdataxmlelement

*element = array[0];

//拿到所有名字為

cityname

的節點

nsarray

*subarray = [element

elementsforname

:@"cityname"];

//拿到下標為

0的節點

gdataxmlelement

*subelement = [subarray

firstobject];

//對節點的一些操作

//    nslog(@"

節點的名字

:%@,

節點的值

:%@",subelement.name,subelement.stringvalue);

//    //

當節點是葉子節點時

,孩子是自身

//    nslog(@"

孩子:%@,

孩子的個數

:%i",element.children,subelement.childcount);

//找根節點 //

注意:要用文件物件去取根節點

gdataxmlelement

*rootelement = [document

rootelement];

//節點的一些屬性 //

找到intentionlevel節點

nsarray

*intenarray = [element

elementsforname

:@"intentionlevel"];

gdataxmlelement

*intentionlevelelement = intenarray[0];

nsarray

*itemarray = [intentionlevelelement

elementsforname

:@"item"];

gdataxmlelement

*itemelement = itemarray[0];

//當前節點的所有屬性

nsarray

*attributearray = itemelement.

attributes;

//注意:

節點中的乙個屬性也是乙個節點

//得到

key="1"

這個屬性節點

gdataxmlelement

*subattributeele = attributearray[0];

nslog(@"

屬性節點的

key:%@,value:%@"

,subattributeele.

name

,subattributeele.

stringvalue);

使用kissxml

庫 :#import

"ddxml.h"

//1.

找路徑

nsstring

*path = [[

nsbundle

mainbundle

]pathforresource

:@"xml"

oftype

:@"txt"];

//2.

轉化成nsdata

資料格式

nsdata

*data = [

nsdata

datawithcontentsoffile

:path];

//3.

進行解析

ddxmldocument

*document = [[

ddxmldocument

alloc

]initwithdata

:data

options:0

error

:nil];

nsarray

*array = [document

nodesforxpath

:@"//systemconfig"

error

:nil];

ddxmlelement

*element = array[0];

//獲取整個的當前節點

nslog(@"

當前節點

:%@"

,element.

xmlstring

);

xml文件解析

xml文件解析 what xml文件用來存放資料,這些資料需要被程式傳遞使用 但xml的語法有別於使用它的語言的語法,所以需將xml儲存的資料轉換成使用它語言能識別的資料,這個過程叫xml解析 do xml文件在各語言基礎上定義一致,且解析邏輯一致,故用於 各語言間資料傳輸 xml的三種解析規則 d...

Xerces C SAX解析XML文件

關於sax的解釋,和好處,不做過多的介紹,你完全可以搜尋引擎裡面找到茫茫多的介紹 本文的主要目的是介紹如何在自己的c 程式中利用xerces c sax解析xml文件 2 在工程中引入xerces c 1 c c 常規中 附件包含目錄 引入include 標頭檔案 3 ok以上環境搭建好後,開始編碼...

Xml文件的解析

1.首先自定義乙個xml文字檔案 1天下無雙 1202 流星錘150 3無敵霸王龍 2002.再自定義乙個類 using system using system.collections.generic using system.linq using system.text using system....