XML parsing of iOS

Source: Internet
Author: User

XML parsing 1.XML format for iOS

<?xml version= "1.0" encoding= "Utf-8"?> represents the XML file version, encoding used for internal text

<root> represents the root node

<CityName> Beijing </CityName> A node, CityName is the node name, Beijing node value

<item key= "1" value= "A" ></Item> key= "1" is a node attribute, key property name, "1" property value

Note: The XML structure is understood as a layered nested tree structure

<?XML version= "1.0" encoding= "Utf-8"?><Root>    <Systemconfig>      <CityName>Beijing</CityName>      <Citycode>201</Citycode>      <Parentcitycode>0</Parentcitycode>      <AreaCode>010</AreaCode>      <Agreementurl></Agreementurl>      <Intentionlevel>                               <ItemKey= "1"value= "A"></Item>        <ItemKey= "2"value= "B"></Item>        <ItemKey= "3"value= "C"></Item>      </Intentionlevel>      <Comechannel>                                   <ItemKey= "1"value= "Newspaper"></Item>        <ItemKey= "2"value= "Magazine"></Item>      </Comechannel>      <Buycarbudget>                               <ItemKey= "1"value= "40.5 million"></Item>        <ItemKey= "2"value= "50.6 million"></Item>      </Buycarbudget>     <Intentioncolor>         <ItemKey= "1"value= "Red"></Item>         <ItemKey= "2"value= "Yellow"></Item>     </Intentioncolor>    </Systemconfig></Root>
2. How to use Gdata Open Source Library for XML parsing

Common parsing methods of XML

(1) UNIX-LIBXML2 C interface

(2) Nsxmlparser UI provides an XML parsing library that is cumbersome to use

(3) Google development Gdata

2.1 Configuration
    // Configure the XML library (to use after configuration    ) // (1) Add header file search path     //       Header Search paths->/usr/include/libxml2    //(2) Add binary library     //    Link Library-  lixml2.dylib    //(3) source file Add compilation options             -fno-objc-arc    //(4) Add header file     //  # Import "GDataXMLNode.h"
Use of 2.2 gdata
    //1. Loading and parsing XML filesNSString *path = [[NSBundle mainbundle]pathforresource:@"Xml.txt"Oftype:nil]; NSData*data =[[NSData Alloc]initwithcontentsoffile:path]; //gdataxmldocument represents an XML Document Object//Initwithdata using NSData initialization is the parsingGdataxmldocument *doc = [[Gdataxmldocument alloc]initwithdata:data options:0Error:nil]; //2. Get the specified node---xpath syntax//path to CityName:/root/systemconfig/citynameNSString *xpath =@"/root/systemconfig/cityname"; Nsarray*array =[Doc Nodesforxpath:xpath Error:nil]; //CityNameGdataxmlelement *element =[Array firstobject]; NSLog (@"name =%@ value =%@", Element.name,element.stringvalue); //3. Get the properties of the specified nodeNsarray *items = [Doc Nodesforxpath:@"/root/systemconfig/comechannel/item"Error:nil]; Gdataxmlelement*item =[Items Firstobject]; //gets the property, or the property, using the gdataxmlelement representation//item.attributes     for(Gdataxmlelement *attrinchitem.attributes) {NSLog (@"Attrsname =%@ Attrsvalue =%@", Attr.name,attr.stringvalue); }        //4. Get all nodes of the specified name (regardless of location)//XPath Syntax://ItemNsarray *allitem = [Doc Nodesforxpath:@"//item"Error:nil];  for(Gdataxmlelement *elementinchAllitem) {NSLog (@"itemname =%@", Element.name); }        //5. Get the value of all specified names (regardless of location)//XPath Syntax://@valueNsarray *allvalue = [Doc Nodesforxpath:@"//@value"Error:nil];  for(Gdataxmlelement *elementinchallvalue) {NSLog (@"value =%@", Element.stringvalue); }        //6. Iterate through the XML file layer by row//Get root node//gdataxmlelement *root = doc.rootelement; //Get child nodes//Root.children//gets the number of child nodes//Root.childcount//gets the specified name child node//root elementsforname: (NSString *)

XPath is a language that looks for information in an XML document. XPath can be used to traverse elements and attributes in an XML document. You can get a powerful XPath tutorial in the links below.

Http://www.w3school.com.cn/xpath/index.asp

Code Link: Click I download

XML parsing of iOS

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.