2021-12-27 01:00:00 +01:00
|
|
|
// MyXml.h
|
|
|
|
|
|
2023-06-21 02:00:00 +02:00
|
|
|
#ifndef ZIP7_INC_MY_XML_H
|
|
|
|
|
#define ZIP7_INC_MY_XML_H
|
2021-12-27 01:00:00 +01:00
|
|
|
|
|
|
|
|
#include "MyString.h"
|
|
|
|
|
|
|
|
|
|
struct CXmlProp
|
|
|
|
|
{
|
|
|
|
|
AString Name;
|
|
|
|
|
AString Value;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class CXmlItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
AString Name;
|
|
|
|
|
bool IsTag;
|
|
|
|
|
CObjectVector<CXmlProp> Props;
|
|
|
|
|
CObjectVector<CXmlItem> SubItems;
|
|
|
|
|
|
|
|
|
|
const char * ParseItem(const char *s, int numAllowedLevels);
|
|
|
|
|
|
|
|
|
|
bool IsTagged(const char *tag) const throw();
|
|
|
|
|
int FindProp(const char *propName) const throw();
|
|
|
|
|
AString GetPropVal(const char *propName) const;
|
|
|
|
|
AString GetSubString() const;
|
|
|
|
|
const AString * GetSubStringPtr() const throw();
|
|
|
|
|
int FindSubTag(const char *tag) const throw();
|
2024-05-14 02:00:00 +02:00
|
|
|
const CXmlItem *FindSubTag_GetPtr(const char *tag) const throw();
|
2021-12-27 01:00:00 +01:00
|
|
|
AString GetSubStringForTag(const char *tag) const;
|
|
|
|
|
void AppendTo(AString &s) const;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CXml
|
|
|
|
|
{
|
|
|
|
|
CXmlItem Root;
|
|
|
|
|
|
|
|
|
|
bool Parse(const char *s);
|
|
|
|
|
// void AppendTo(AString &s) const;
|
|
|
|
|
};
|
|
|
|
|
|
2024-05-14 02:00:00 +02:00
|
|
|
void z7_xml_DecodeString(AString &s);
|
|
|
|
|
|
2021-12-27 01:00:00 +01:00
|
|
|
#endif
|