我有一个看起来像这样的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中这样做。
答案 0 :(得分:0)
根据the documentation,您需要将elem->Attribute("val")->GetText()
替换为elem->Attribute("color")
:
memoOverview->Lines->Add(elem->Attribute("color"));
答案 1 :(得分:0)
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 );
}