TiXml使用詳解 例子

2021-10-11 01:49:48 字數 3990 閱讀 8489

在tinyxml中,根據xml的各種元素來定義了一些類:

tixmlbase:整個tinyxml模型的基類。

tixmlattribute:對應於xml中的元素的屬性。

tixmlnode:對應於dom結構中的節點。

tixmlcomment:對應於xml中的注釋。

tixmldeclaration:對應於xml中的申明部分,即<?versiong="1.0" ?>。

tixmldocument:對應於xml的整個文件。

tixmlelement:對應於xml的元素。

tixmltext:對應於xml的文字部分。

tixmlunknown:對應於xml的未知部分。

tixmlhandler:定義了針對xml的一些操作。

例如:<?xml version="1.0" standalone=no>

go to the toy store!

do bills

整個物件樹:

tixmldocument "demo.xml"

tixmldeclaration "version=』1.0′" "standalone=no"

tixmlcomment " our to do list data"

tixmlelement "todo"

tixmlelement "item" attribtutes: priority = 1

tixmltext "go to the "

tixmlelement "bold"

tixmltext "toy store!"

tixmlelement "item" attributes: priority=2

tixmltext "do bills"

在tinyxml中,用firstchild("名字")查詢節點時,呼叫firstchild函式的節點與要查詢的節點必須成「父子關係」。

控制代碼想要健壯地讀取乙個xml文件,檢查方法呼叫後的返回值是否為null是很重要的。一種安全的檢錯實現可能會產生像這樣的**:

tixmlelement* root = document.firstchildelement( "document" );

if ( root )

}tixml簡單使用

tixmldocument doc("dummy.xml");

if(doc.loadfile())

tixml複雜使用

bool ctdabuilder::loadtransfer(const char *szconf)

tixmlhandle hdoc(&doc);

tixmlnode* pnode = null;

pnode = hdoc.firstchildelement().element();

if(!pnode)

return false;

tixmlnode* proot = pnode->firstchild(m_strservice.c_str());

if (!proot)

tixmlnode* ptransfer = proot->firstchild("transfer");

if (!ptransfer)

tixmlelement *psta = ptransfer->firstchildelement("station");

while (psta)

if (psta->attribute("intrack"))

if (psta->attribute("outtrack"))

cparammgr::instance().addtransfer(transfer);

psta = psta->nextsiblingelement("station"); }

return true;

}

在tinyxml中,根據xml的各種元素來定義了一些類:

tixmlbase:整個tinyxml模型的基類。

tixmlattribute:對應於xml中的元素的屬性。

tixmlnode:對應於dom結構中的節點。

tixmlcomment:對應於xml中的注釋。

tixmldeclaration:對應於xml中的申明部分,即<?versiong="1.0" ?>。

tixmldocument:對應於xml的整個文件。

tixmlelement:對應於xml的元素。

tixmltext:對應於xml的文字部分。

tixmlunknown:對應於xml的未知部分。

tixmlhandler:定義了針對xml的一些操作。

例如:<?xml version="1.0" standalone=no>

go to the toy store!

do bills

整個物件樹:

tixmldocument "demo.xml"

tixmldeclaration "version=』1.0′" "standalone=no"

tixmlcomment " our to do list data"

tixmlelement "todo"

tixmlelement "item" attribtutes: priority = 1

tixmltext "go to the "

tixmlelement "bold"

tixmltext "toy store!"

tixmlelement "item" attributes: priority=2

tixmltext "do bills"

在tinyxml中,用firstchild("名字")查詢節點時,呼叫firstchild函式的節點與要查詢的節點必須成「父子關係」。

控制代碼想要健壯地讀取乙個xml文件,檢查方法呼叫後的返回值是否為null是很重要的。一種安全的檢錯實現可能會產生像這樣的**:

tixmlelement* root = document.firstchildelement( "document" );

if ( root )

}tixml簡單使用

tixmldocument doc("dummy.xml");

if(doc.loadfile())

tixml複雜使用

bool ctdabuilder::loadtransfer(const char *szconf)

tixmlhandle hdoc(&doc);

tixmlnode* pnode = null;

pnode = hdoc.firstchildelement().element();

if(!pnode)

return false;

tixmlnode* proot = pnode->firstchild(m_strservice.c_str());

if (!proot)

tixmlnode* ptransfer = proot->firstchild("transfer");

if (!ptransfer)

tixmlelement *psta = ptransfer->firstchildelement("station");

while (psta)

if (psta->attribute("intrack"))

if (psta->attribute("outtrack"))

cparammgr::instance().addtransfer(transfer);

psta = psta->nextsiblingelement("station"); }

return true;

}

TiXml使用詳解

本文用乙個詳細的例子說明了tixml的使用方法。如寫 查詢 插入 替換 載入 遍歷等常見操作。首先簡單介紹一下tinyxml,要看詳細的在網上搜搜了 tinyxml是乙個簡單小巧,可以很容易整合到其它程式中的c xml解析器。簡單地說,tinyxml解析乙個xml文件並由此生成乙個可讀可修改可儲存的...

TiXml使用詳解

tixml使用詳解 本文用乙個詳細的例子說明了tixml的使用方法。如寫 查詢 插入 替換 載入 遍歷等常見操作。首先簡單介紹一下tinyxml,要看詳細的在網上搜搜了 tinyxml是乙個簡單小巧,可以很容易整合到其它程式中的c xml解析器。簡單地說,tinyxml解析乙個xml文件並由此生成乙...

TiXml使用介紹

tixml使用詳解 本文用乙個詳細的例子說明了tixml的使用方法。如寫 查詢 插入 替換 載入 遍歷等常見操作。tinyxml是乙個簡單小巧,可以很容易整合到其它程式中的c xml解析器。簡單地說,tinyxml解析乙個xml文件並由此生成乙個可讀可修改可儲存的文件物件模型 dom tinyxml...