/*
-Copyright (c) 2005-2006, John Hurst
+Copyright (c) 2005-2008, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
{
class XMLElement;
+ // Return true if the given string contains an XML document (or the start of one).
+ bool StringIsXML(const char* document, ui32_t len = 0);
+
//
struct NVPair
{
//
class XMLElement
{
+ KM_NO_COPY_CONSTRUCT(XMLElement);
+ XMLElement();
+
+ protected:
AttributeList m_AttrList;
ElementList m_ChildList;
const XMLNamespace* m_Namespace;
std::string m_Name;
std::string m_Body;
- KM_NO_COPY_CONSTRUCT(XMLElement);
- XMLElement();
-
public:
XMLElement(const char* name);
~XMLElement();
inline void SetNamespace(const XMLNamespace* ns) { assert(ns); m_Namespace = ns; }
bool ParseString(const std::string& document);
- bool TestString(const char* document, ui32_t len = 0);
// building
void SetName(const char* name);
void AppendBody(const std::string& value);
void SetAttr(const char* name, const char* value);
+ XMLElement* AddChild(XMLElement* element);
XMLElement* AddChild(const char* name);
XMLElement* AddChildWithContent(const char* name, const char* value);
XMLElement* AddChildWithContent(const char* name, const std::string& value);