用途:解析建筑行业常见的 XML 数据,包括 P6 进度计划(XER)、IFC-XML、COBie-XML 以及 buildingSMART Data Dictionary(BSDD)导出,并把结构化结果转换为 pandas DataFrame,便于后续分析。
主要能力:提供 ConstructionXMLReader 基类,支持从文件或字符串解析 XML、提取命名空间、按标签查找元素、将元素转为字典或 DataFrame、扁平化 XML。派生类包括 P6XMLReader(解析 Activity、Resource、WBS,并可一次性解析完整进度计划)、IFCXMLReader(解析 Ifc* 实体并统计实体类型数量)、COBieXMLReader(按 Facility、Floor、Space、Component 等 COBie 工作表解析)、BSDDXMLReader(解析 Classification 与 Property)。
使用方式:先实例化对应 Reader,调用 parse_file 或 parse_string 获取根元素,再用 find_elements 查找目标标签,最后用 elements_to_dataframe 转为 DataFrame。例如:reader = ConstructionXMLReader(); root = reader.parse_file("schedule.xml"); activities = reader.find_elements(root, "Activity"); df = reader.elements_to_dataframe(activities)。P6 可用 parse_full_schedule 返回 activities、resources、wbs 三个 DataFrame;COBie 可用 parse_cobie 返回各工作表字典。
适用场景:建筑项目进度数据导入、COBie 设施信息提取、IFC-XML 模型实体统计与检查、分类与属性定义解析等。
限制:资料未提供安装方式、依赖版本、性能指标、收费信息或平台支持范围;解析效果取决于输入 XML 是否符合对应规范,命名空间与标签结构差异可能影响结果。