XML文件
(Extensible Markup Language可扩展标记语言)
1) 元标记语言,所谓“元标记”就是用户可自定义,而HTML是预定义的,不允许自定义
2) 语义/结构化语言,可描述文档的结构和语义
3) 数据交换,因为它是跨平台的,跨系统、跨应用程序,所以就可以将这个数据很方便的将一个数据在两个应用程序间交换
4) 结构化数据,可以定义一个book元素必须有name属性
注意:XML与HTML是不同的两个概念
XML文档 = DTD + XML文本
DTD——Document Type Definition(文档定义类型),一组标记符语法规则,规定XML文本的组成结构,当然该文件可有可无
XML的显示——借助于XSL(XML Style Language)、CSS(Cascading Style Sheets层叠样式表)来显示
XML只是简单存储数据,而没有定义表达,所以XML很好的将内容与形式分开,同一内容会有很多表达形式
XML文件的创建与读取
void CreateXML(char * strFileName) { TiXmlDocument *pDoc = new TiXmlDocument(strFileName);//创建XML文档指针 if (pDoc == NULL) { return ; } TiXmlDeclaration *pDeclaration = new TiXmlDeclaration("1.0","","");//xml声明 if (pDeclaration == NULL) { return; } pDoc->LinkEndChild(pDeclaration); TiXmlElement *pRoot = new TiXmlElement("Root");//new出结点 if (pRoot == NULL) { return; } pDoc->LinkEndChild(pRoot);//将结点与最底层文件pDoc关联起来,成为根节点 //创建孩子节点 TiXmlElement *pChild = new TiXmlElement("Child"); if(pChild == NULL) return ; pRoot->LinkEndChild(pChild);//与根节点关联,成为根节点下的孩子结点 //对属性进行赋值 //way1: TiXmlText *pValue = new TiXmlText("Book"); pRoot->LinkEndChild(pValue); //Way2: pChild->SetAttribute("name","China"); pChild->SetAttribute("price","unknow"); pDoc->SaveFile(strFileName); delete pDoc; pDoc = NULL; }
void PrintXML(char *strFileName) { TiXmlDocument *pDoc = new TiXmlDocument(strFileName); if (pDoc == NULL) { return; } pDoc->LoadFile(strFileName); pDoc->Print(); }
<?xml version="1.0" ?>
<Root>
<Child name="China" price="unknow" />Book
</Root>
后续会有xml文件增加节点与删除节点,读取某节点属性值操作,敬请期待>>>
文章参考:http://blog.csdn.net/clever101
【热爱工作,热爱生活】
原文链接:https://www.f2er.com/xml/299314.html