[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] simple DOM-style XML parser, in C++?
I just "discovered" this list, and I wanted to check into the existence of a simple parser that provides DOM-like access, before I implemented my own (on top of expat). I've heard of SAX, and wonder if the C++ interface does anything like what I want to do. I'm looking for a simple query interface that provides generic access to elements and attributes, possibly with iterator-style access. Here is an example XML file, and how I would like to go about parsing it: <Container name="foo" type="bar"> <Foo name="element" length="42"/> <Object name="object1"> <SubObject/> </Object> <Object name="object2"> <SubObject/> </Object> </Container> // open file (somehow) XML::File file(filename); // search for a top-level element XML::Element element = file.GetElement("Container"); // query attributes XML::Attribute nameAttr = element.GetAttribute("name"); XML::Attribute typeAttr = element.GetAttribute("type"); // get attribute values std::string name, type; nameAttr >> name; typeAttr >> type; // look for specific sub-element XML::Element fooElem = element.GetElement("Foo"); // read attributes directly fooElem.GetAttribute("name") >> name; int length; fooElem.GetAttribute("length") >> length; // loop over elements by iterator XML::element_iterator it = element.begin("Object"); while (it != element.end()) { XML_Element &objElem = (*it); objElem.GetAttribute("name") >> name; // etc ... } I think something like this is pretty straightforward without all that DOM complexity. I think this interface can be layered on top of expat. Does the C++ SAX interface already do something like this? *should* I be using DOM instead for something this simple? -- Paul Miller - stele@f... xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|