ОБНОВЛЕНИЕ: Все еще не работает :( Я обновил часть кода, чтобы отразить то, что у меня сейчас есть.
Это должен быть довольно простой вопрос для людей, которые использовали TinyXML. Я пытаюсь использовать TinyXML для анализа XML-документа и извлечения некоторых значений. Вчера я понял, как добавить в библиотеку, и успешно загрузил документ (эй, это начало).
Я читал руководство и не могу понять, как извлечь отдельные атрибуты. После поиска в Google я не нашел пример моего конкретного примера, так что, возможно, кто-то здесь, кто использовал TinyXML, может помочь. Ниже приведен фрагмент XML и где я начал его анализировать.
XML:
<EGCs xmlns="http://tempuri.org/XMLSchema.xsd">
<card type="EGC1">
<offsets>
[ ... ]
</offsets>
</card>
<card type="EGC2">
<offsets>
[ ... ]
</offsets>
</card>
</EGCs>
Код загрузки / анализа:
TiXmlDocument doc("EGC_Cards.xml");
if(doc.LoadFile())
{
TiXmlHandle hDoc(&doc);
TiXmlElement* pElem;
TiXmlHandle hRoot(0);
pElem = hDoc.FirstChildElement().Element();
if (!pElem) return false;
hRoot = TiXmlHandle(pElem);
//const char *attribval = hRoot.FirstChild("card").ToElement()->Attribute("card");
pElem = hDoc.FirstChild("EGCs").Child("card", 1).ToElement();
if(pElem)
{
const char* tmp = pElem->GetText();
CComboBox *combo = (CComboBox*)GetDlgItem(IDC_EGC_CARD_TYPE);
combo->AddString(tmp);
}
}
Я хочу вытащить каждую карточку «type» и сохранить ее в строку, чтобы поместить в поле со списком. Как получить доступ к этому атрибуту?