Can anyone point me in the right direction to learn about reading XML files using C++. I was able to find and learn how to write onto/create an xml document, but I am having trouble find information on accessing the xml document.
This is currently what I have
patientList.open("Patients.xml", ios::in);
while(!patientList.fail() && strcmp(user, name))
{
getline(patientList, str);
posOpen = str.find("<name>");
newStr = str.substr(posOpen + 1);
posClose = newStr.find("</name>");
newStr = str.substr(posOpen + 1, posClose);
strcpy(name, newStr.c_str());
}
patientList.close();
Right now I have it going through the XML file, line by line trying to find a name. Now that works fine, but what I want to do next is once the name I am looking for is found I want to grab the line after it.
The XML looks like this
<patient>
<name>Ken</name>
<mood>Happy</mood>
</patient>
<patient>
<name>Bob</name>
<mood>Sad</mood>
</patient>
<patient>
<name>Mike</name>
<mood>Scared</mood>
</patient>
So I want to find the name I am looking for then grab the mood associated with that name.
Thanks for your help in advance.
3 replies to this topic
Ad:
#2 Members - Reputation: 1410
Posted 01 August 2012 - 05:16 PM
I'd highly recommend using a library like this one instead of parsing it yourself.
#4 Members - Reputation: 103
Posted 20 August 2012 - 09:16 AM
take a look at liquid xml c++ tool, it will actually output c++ code from your xml, still its better to do it yourself because thats the only way but it should certainly help you understand how to structure your code.






