我有一个xml文件,如下所示。。。
<fruits>
<apple color="red"/>
<orange color="orange"/>
<banana color="yellow"/>
</fruits>
我想为每个元素获取属性color的值,并将其显示在备忘录中。我知道如何在备忘录中显示元素的值,但似乎不知道如何为属性显示。这是我迄今为止的代码。。。
TiXmlDocument XMLFile;
XMLFile.LoadFile("fruits.xml");
TiXmlHandle XMLFileHandle( &XMLFile );
TiXmlElement* root = XMLFile .FirstChildElement("fruits");
for(TiXmlElement* elem = root->FirstChildElement(); elem != NULL; elem = elem->NextSiblingElement())
{
memoOverview->Lines->Add(elem->Attribute("val")->GetText());
}
我使用tinyxml来解析xml文件,并且我是在C++和C++Builder中完成这项工作的。
根据文档,您需要将elem->Attribute("val")->GetText()
替换为elem->Attribute("color")
:
memoOverview->Lines->Add(elem->Attribute("color"));
TiXmlDocument XMLFile;
XMLFile.LoadFile("fruits.xml");
TiXmlHandle XMLFileHandle( &XMLFile );
TiXmlElement* root = XMLFile.FirstChildElement("fruits");
char stringBuffer[64];
for (TiXmlElement* elem = root->FirstChildElement(); elem != NULL; elem = elem->NextSiblingElement())
{
if (strcmp(LastChildElement->Value(), "color") == 0)
{
strncpy(stringBuffer, LastChildElement->Attribute("color"), sizeof(stringBuffer));
}
memoOverview->Lines->Add( stringBuffer );
}