diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-04 21:59:42 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-04 21:59:42 +0800 |
| commit | 1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b (patch) | |
| tree | 3a92e1bf61fc165c2148f38ca6602f5066011f06 /include/cru/xml/XmlParser.h | |
| parent | f48505c96a70e2f1d1982fea30f3015e42fcd49d (diff) | |
| download | cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.gz cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.bz2 cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.zip | |
Move xml to base.
Diffstat (limited to 'include/cru/xml/XmlParser.h')
| -rw-r--r-- | include/cru/xml/XmlParser.h | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/include/cru/xml/XmlParser.h b/include/cru/xml/XmlParser.h deleted file mode 100644 index b6589f1b..00000000 --- a/include/cru/xml/XmlParser.h +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include "XmlNode.h" - -#include "cru/base/Exception.h" - -namespace cru::xml { -class CRU_XML_API XmlParsingException : public Exception { - public: - using Exception::Exception; -}; - -class CRU_XML_API XmlParser { - public: - explicit XmlParser(std::string xml); - - CRU_DELETE_COPY(XmlParser) - CRU_DELETE_MOVE(XmlParser) - - ~XmlParser(); - - XmlElementNode* Parse(); - - private: - XmlElementNode* DoParse(); - - char16_t Read1(); - std::string ReadWithoutAdvance(int count = 1); - void ReadSpacesAndDiscard(); - std::string ReadSpaces(); - std::string ReadIdenitifier(); - std::string ReadAttributeString(); - - private: - std::string xml_; - - XmlElementNode* cache_ = nullptr; - - // Consider the while file enclosed by a single tag called $root. - XmlElementNode* pseudo_root_node_ = new XmlElementNode("$root"); - XmlElementNode* current_ = pseudo_root_node_; - int current_position_ = 0; -}; -} // namespace cru::xml |
