VCÈçºÎ¶ÁÈ¡¹Ì¶¨¸ñʽxmlµÄÌØ¶¨Êý¾Ý£¨É¢·ÖÌù£©
±¾ÌûÊÇ¡°VCÈçºÎ¶ÁÈ¡¹Ì¶¨¸ñʽxmlµÄÌØ¶¨Êý¾Ý¡±µÄÉ¢·ÖÌù£¬×¨ÃŰѷÖÊý¸ø°ïÖúÎÒµÄÈË¡£Çë¸÷λ´óϺ¸ø³ö´úÂëºóµ½±¾ÌûÁôÑÔ¡£
C/C++ code:
Decoding state from XML
As with encoding objects, there are a number of approaches to decoding XML into your own C++ object structure. The following approach uses TiXmlHandles.
void AppSettings::load(const char* pFilename)
{
TiXmlDocument doc(pFilename);
if (!doc.LoadFile()) return;
TiXmlHandle hDoc(&doc);
TiXmlElement* pElem;
TiXmlHandle hRoot(0);
// block: name
{
pElem=hDoc.FirstChildElement().Element();
// should always have a valid root but handle gracefully if it does
if (!pElem) return;
m_name=pElem->Value();
// save this for later
hRoot=TiXmlHandle(pElem);
}
// block: string table
{
m_messages.clear(); // trash existing table
pElem=hRoot.FirstChild( "Messages" ).FirstChild().Element();
for( pElem; pElem; pElem=pElem->NextSiblingElement())
{
const char *pKey=pElem->Value();
const char *pText=pElem->GetText();
if (pKey && pText)
{
m_messages[pKey]=pText;
}
}
}
// block: windows
{
m_windows.clear(); // trash existing list
Ïà¹ØÎÊ´ð£º
txt ºÍXML ¸ñʽÏàÓ¦
²»½èÖúDataSet
µ¼Èë¶ÁÈ¡TXTÎļþ
È»ºóÖ±½ÓдÈëXML(ͬһÎļþ,²»Í¬Êý¾Ý,µÝÔöÔÊý¾ÝûÓб»¸²¸ÇÇé¿öÏÂÔö¼ÓÊý¾Ý.)
½Ì¸öÒªµã»ò×îºÃÊÇÓиö´úÂëÌáʾµÄ
¹ý·ºÃºº °ï¸öæÈö^^
²»»á£¬°ïÂ¥Ö÷ ......
Êý¾Ý¿â±íÖÐÓÐÒ»ÁУ¨TranXml£©ÀàÐÍÊÇxml£¬´æ´¢µÄÊÇÀàËÆ
<fathernode>
<a>aaa
</a>
<b>bbb
</b>
</fathernode>
µÄÐÅÏ¢£¬²¢ÇÒͨ¹ý²éѯ·½· ......
´ÓÊý¾Ý¿âÖвéѯһÕűíµÄÊý¾Ý
select ²¿ÃÅ,ÐÕÃû from tb
ÈçºÎ²ÅÄÜÉú³ÉÏÂÃæµÄxml¸ñʽ
XML code:
<folder state="unchecked" label="È«²¿">
¡¡¡¡ <folder state="unchecked&qu ......
²ÉÓÃDOM ½øÐнâÎöxml¡£ÒªÇó½«xml×Ö´®²åÈëÖ¸¶¨½Úµã×÷ΪÆä×Ó½Úµã
±ÈÈ磺
Ôxml
<root>
</root>
Òª²åÈëµÄxml×Ö´®
<a>test</a>
Ä¿µÄxml£º
<root>
<a> ......
ÈçºÎ½«Ò»¸öXMLÎļþת»¯ÎªÒ»ÖÖ±ê×¼µÄ¸ñʽ»¯µÄXMLÎļþ½á¹¹
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<STU>
<ROWNUM>1</ROWNUM>
&n ......