|
BIMHome v1.0.0
BIMHome接口文档说明
|
XML 读取器类 这是 BIMHome 中对象存储和检索系统的一个重要辅助类。 这些类主要继承自 App::Persistence 基类,并实现了 Restore() 方法。 更多...
#include <Reader.h>
类 | |
| struct | FileEntry |
Public 类型 | |
| enum | { None = 0 , Chars , StartDocument , EndDocument , StartElement , StartEndElement , EndElement , StartCDATA , EndCDATA } |
| 枚举类型,定义了读取操作的类型 更多... | |
| enum | ReaderStatus { PartialRestore = 0 , PartialRestoreInDocumentObject = 1 , PartialRestoreInProperty = 2 , PartialRestoreInObject = 3 } |
| 枚举类型,定义了读取状态 更多... | |
Public 成员函数 | |
| bool | isValid () const |
| 检查 XML 文件是否有效 | |
| bool | isVerbose () const |
| 检查是否启用详细模式 | |
| void | setVerbose (bool on) |
| 设置详细模式 | |
| XMLReader (const char *FileName, std::istream &) | |
| 构造函数,打开文件并读取第一个元素 | |
| ~XMLReader () | |
解析器相关 | |
| const char * | localName () const |
| 获取当前元素的本地名称 | |
| int | level () const |
| 获取当前元素的层级 | |
| void | readElement (const char *ElementName=nullptr) |
| 读取直到找到开始元素 | |
| void | readEndElement (const char *ElementName=nullptr, int level=-1) |
| 读取直到找到结束元素 | |
| bool | readNextElement () |
| 读取下一个元素 | |
| void | readCharacters () |
| 读取直到找到字符 | |
| void | readBinFile (const char *) |
| 读取二进制文件 | |
属性相关 | |
| unsigned int | getAttributeCount () const |
| 获取当前元素的属性数量 | |
| bool | hasAttribute (const char *AttrName) const |
| 检查当前元素是否具有指定属性 | |
| long | getAttributeAsInteger (const char *AttrName) const |
| 获取指定属性的整数值 | |
| unsigned long | getAttributeAsUnsigned (const char *AttrName) const |
| 获取指定属性的无符号整数值 | |
| double | getAttributeAsFloat (const char *AttrName) const |
| 获取指定属性的浮点值 | |
| const char * | getAttribute (const char *AttrName) const |
| 获取指定属性的字符串值 | |
Public 属性 | |
| enum Base::XMLReader:: { ... } | ReadType |
| 枚举类型,定义了读取操作的类型 | |
Protected 成员函数 | |
Content handler | |
| virtual void | startDocument () |
| 处理文档开始 | |
| virtual void | endDocument () |
| 处理文档结束 | |
| virtual void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const XERCES_CPP_NAMESPACE_QUALIFIER Attributes &attrs) |
| 处理元素开始 | |
| virtual void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
| 处理元素结束 | |
| virtual void | characters (const XMLCh *const chars, const XMLSize_t length) |
| 处理字符数据 | |
| virtual void | ignorableWhitespace (const XMLCh *const chars, const XMLSize_t length) |
| 处理可忽略的空白字符 | |
Lexical相关 | |
| virtual void | startCDATA () |
| 处理 CDATA 开始 | |
| virtual void | endCDATA () |
| 处理 CDATA 结束 | |
文档相关 | |
| virtual void | resetDocument () |
| 重置文档 | |
错误处理相关 | |
| typedef std::map< std::string, std::string > | AttrMapType |
| 属性映射表类型 | |
| int | DocumentSchema |
| 文档的 Schema 版本 | |
| std::string | ProgramVersion |
| 编写该文档的 BIMHome 版本 | |
| int | FileVersion |
| 文件格式的版本 | |
| std::vector< FileEntry > | FileList |
| 文件条目列表 | |
| int | Level |
| 当前解析的层级 | |
| std::string | LocalName |
| 当前元素的本地名称 | |
| std::string | Characters |
| 当前读取的字符数据 | |
| unsigned int | CharacterCount |
| 当前读取的字符数量 | |
| std::map< std::string, std::string > | AttrMap |
| 属性映射表 | |
| FileInfo | _File |
| 当前文件信息 | |
| XERCES_CPP_NAMESPACE_QUALIFIER SAX2XMLReader * | parser |
| XML 解析器 | |
| XERCES_CPP_NAMESPACE_QUALIFIER XMLPScanToken | token |
| XML 扫描令牌 | |
| bool | _valid |
| 文件是否有效 | |
| bool | _verbose |
| 是否启用详细模式 | |
| std::vector< std::string > | FileNames |
| 注册的文件名列表 | |
| std::map< std::string, std::string > | nameMap |
| 名称映射表 | |
| std::bitset< 32 > | StatusBits |
| 状态标志位 | |
| void | warning (const XERCES_CPP_NAMESPACE_QUALIFIER SAXParseException &exc) |
| 处理警告 | |
| void | error (const XERCES_CPP_NAMESPACE_QUALIFIER SAXParseException &exc) |
| 处理错误 | |
| void | fatalError (const XERCES_CPP_NAMESPACE_QUALIFIER SAXParseException &exc) |
| 处理致命错误 | |
| void | resetErrors () |
| 重置错误 | |
additional file reading | |
| const char * | addFile (const char *Name, Base::Persistence *Object) |
| 添加文件读取请求 | |
| void | readFiles (zipios::ZipInputStream &zipstream) const |
| 处理请求的文件读取 | |
| void | readFile (zipios::ZipInputStream &zipstream, std::string fileName) const |
| 从 ZIP 输入流中读取指定文件 | |
| const std::vector< std::string > & | getFilenames () const |
| 获取所有注册的文件名 | |
| bool | isRegistered (Base::Persistence *Object) const |
| 检查对象是否已注册 | |
| virtual void | addName (const char *, const char *) |
| 添加名称映射 | |
| virtual const char * | getName (const char *) const |
| 获取名称映射 | |
| virtual bool | doNameMapping () const |
| 检查是否启用名称映射 | |
| void | setPartialRestore (bool on) |
| 设置全局和局部的部分恢复标志 | |
| void | clearPartialRestoreDocumentObject () |
| 清除 DocumentObject 的部分恢复标志 | |
| void | clearPartialRestoreProperty () |
| 清除属性的部分恢复标志 | |
| void | clearPartialRestoreObject () |
| 清除对象的部分恢复标志 | |
| bool | testStatus (ReaderStatus pos) const |
| 获取状态标志 | |
| void | setStatus (ReaderStatus pos, bool on) |
| 设置状态标志 | |
| FileInfo | getFileInfo () |
| 获取文件信息 | |
| bool | read () |
| 读取下一个元素 | |
XML 读取器类 这是 BIMHome 中对象存储和检索系统的一个重要辅助类。 这些类主要继承自 App::Persistence 基类,并实现了 Restore() 方法。
XMLReader 类,用于解析 XML 文件
该类继承自 DefaultHandler,实现了 XML 文件的读取和解析功能。 它提供了多种方法用于处理 XML 元素、属性以及文件操作。此外,它还支持部分恢复功能,用于处理不完整的 XML 数据。