要解析的xml源文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<colour>
<header>12345</header>
<item type="abcd">
<text value="00000000"/>
</item>
</colour>
下面开始解析...看源码...这个最直接了哈...
NSString *strXml = [ NSString stringWithContentsOfFile:@"/mtctest.xml" encoding:NSUTF8StringEncoding error:nil];
const char* chXML = [strXml UTF8String];
TiXmlDocument* xmlDocument = new TiXmlDocument;
xmlDocument->Parse(chXML);
//DECLARATION
TiXmlNode* pXmlFirst = xmlDocument->FirstChild();
TiXmlDeclaration* pXmlDec = pXmlFirst->ToDeclaration();
if (NULL != pXmlDec)
{
const char* strVersion = pXmlDec->Version();
const char* strEncoding = pXmlDec->Encoding();
const char* strStandalone = pXmlDec->Standalone();
NSLog(@"DECLARATION======%s,%s,%s",strVersion,strEncoding,strStandalone);
}
//COLOUR
TiXmlElement* colourElement = xmlDocument->RootElement();
const char* colourValue = colourElement->Value();
NSLog(@"COLOUR======%s",colourValue);
//HEADER
TiXmlElement *headerElement = colourElement->FirstChildElement();
const char* headerValue = headerElement->Value();
const char* headerText = headerElement->GetText();
NSLog(@"HEADER======%s,%s",headerValue,headerText);
//ITEM
TiXmlElement *itemElement = headerElement->NextSiblingElement();
const char* itemValue1 = itemElement->Value();
TiXmlAttribute* itemAttribute = itemElement->FirstAttribute();
const char* itemName = itemAttribute->Name();
const char* itemValue = itemAttribute->Value();
NSLog(@"ITEM======%s,%s,%s",itemValue1,itemName,itemValue);
//TEXT
TiXmlElement *textElement = itemElement->FirstChildElement();
const char* textValue1 = textElement->Value();
TiXmlAttribute* textAttribute = textElement->FirstAttribute();
const char* textName = textAttribute->Name();
const char* textValue = textAttribute->Value();
NSLog(@"TEXT======%s,%s,%s",textValue1,textName,textValue);
好.下面看控制台的输出结果
2010-07-09 15:55:25.369 MyXmlTest[8227:207] DECLARATION======1.0,UTF-8,yes
2010-07-09 15:55:25.371 MyXmlTest[8227:207] COLOUR======colour
2010-07-09 15:55:25.372 MyXmlTest[8227:207] HEADER======header,12345
2010-07-09 15:55:25.372 MyXmlTest[8227:207] ITEM======item,type,abcd
2010-07-09 15:55:25.373 MyXmlTest[8227:207] TEXT======text,value,00000000
怎么样...够简单的吧...想要什么直接拿就行了...
TinyXml下载地址: http://sourceforge.net/projects/tinyxml/
TinyXml官网:http://www.grinninglizard.com/tinyxml/index.html