🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
XMLSax.hpp
浏览该文件的文档.
1
20
21#pragma once
22#include "AstGlobal.h"
23#include "AstUtil/StringView.hpp"
24#include "AstUtil/BKVItemView.hpp"
25#include <vector>
26
27
28AST_NAMESPACE_BEGIN
29
37class AST_UTIL_API XMLSax {
38public:
39 class AttributeList;
40 virtual ~XMLSax() = default;
42 virtual void startDocument() = 0;
44 virtual void endDocument() = 0;
46 virtual void startElement(StringView name, const AttributeList& attributes) = 0;
48 virtual void endElement(StringView name) = 0;
50 virtual void characters(StringView text) = 0;
52 virtual void comment(StringView text){};
55 virtual void error(StringView msg){};
56public:
59 class AttributeList: public std::vector<BKVItemView>
60 {
61 public:
62 ValueView get(StringView name) const
63 {
64 for(const auto& item: *this)
65 {
66 if(item.key() == name)
67 {
68 return item.value();
69 }
70 }
71 return {};
72 }
73 };
74
75};
76
77
78
81AST_NAMESPACE_END
值视图类
定义 ValueView.hpp:41
XML SAX解析器的属性列表
定义 XMLSax.hpp:60
XML SAX解析器的回调接口
定义 XMLSax.hpp:37
virtual void error(StringView msg)
错误回调
定义 XMLSax.hpp:55
virtual void startDocument()=0
文档开始回调
virtual void endElement(StringView name)=0
元素结束回调
virtual void characters(StringView text)=0
文本内容回调
virtual void endDocument()=0
文档结束回调
virtual void startElement(StringView name, const AttributeList &attributes)=0
元素开始回调
virtual void comment(StringView text)
注释回调
定义 XMLSax.hpp:52