1、Infopath 介绍

Infopath工具保存后默认生成xsn格式的文件。

将上图中的文件后缀名修改为全国面上广告申请.zip 并进行解压。如下图所示:

效果图如下:

2、myschema.xsd文件说明

myschema.xsd文件内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/office/infopath/2003/myXSD/2021-08-11T07:06:00" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2021-08-11T07:06:00" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="myFields"><xsd:complexType><xsd:sequence><xsd:element ref="my:申请单编号" minOccurs="0"/><xsd:element ref="my:附件上传" minOccurs="0"/><xsd:element ref="my:关联文档" minOccurs="0"/><xsd:element ref="my:上传电子发票" minOccurs="0"/><xsd:element ref="my:制表人" minOccurs="0"/><xsd:element ref="my:所属部门" minOccurs="0"/><xsd:element ref="my:制表时间" minOccurs="0"/><xsd:element ref="my:联系方式" minOccurs="0"/><xsd:element ref="my:业务发生公司" minOccurs="0"/><xsd:element ref="my:申请单状态" minOccurs="0"/><xsd:element ref="my:活动类型" minOccurs="0"/><xsd:element ref="my:品牌大类" minOccurs="0"/><xsd:element ref="my:投入类型" minOccurs="0"/><xsd:element ref="my:开始日期" minOccurs="0"/><xsd:element ref="my:结束日期" minOccurs="0"/><xsd:element ref="my:费用投向" minOccurs="0"/><xsd:element ref="my:是否比价招标" minOccurs="0"/><xsd:element ref="my:采购类型" minOccurs="0"/><xsd:element ref="my:是否涉及票务促销" minOccurs="0"/><xsd:element ref="my:申请金额合计" minOccurs="0"/><xsd:element ref="my:申请金额合计大写" minOccurs="0"/><xsd:element ref="my:审核金额合计" minOccurs="0"/><xsd:element ref="my:审核金额合计大写" minOccurs="0"/><xsd:element ref="my:活动投放规划" minOccurs="0"/><xsd:element ref="my:前期调研情况" minOccurs="0"/><xsd:element ref="my:采购类型申请理由及依据" minOccurs="0"/><xsd:element ref="my:备注" minOccurs="0"/><xsd:element ref="my:目前实施项目及费用简述" minOccurs="0"/><xsd:element ref="my:费用列支渠道" minOccurs="0"/><xsd:element ref="my:预算使用年度" minOccurs="0"/><xsd:element ref="my:组1" minOccurs="0"/></xsd:sequence><xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/></xsd:complexType></xsd:element><xsd:element name="申请单编号" type="xsd:string"/><xsd:element name="组1"><xsd:complexType><xsd:sequence><xsd:element ref="my:组2" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="组2"><xsd:complexType><xsd:sequence><xsd:element ref="my:行项目号" minOccurs="0"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="行项目号" type="xsd:string"/><xsd:element name="费用类型" type="xsd:string"/><xsd:element name="媒体大类" type="xsd:string"/><xsd:element name="媒体小类" type="xsd:string"/><xsd:element name="活动形式" type="xsd:string"/><xsd:element name="推广品牌id" type="xsd:string"/><xsd:element name="推广品牌" type="xsd:string"/><xsd:element name="数量" type="xsd:string"/><xsd:element name="单位" type="xsd:string"/><xsd:element name="申请金额" type="xsd:string"/><xsd:element name="厂方支持比例" type="xsd:string"/><xsd:element name="考核大区" type="xsd:string"/><xsd:element name="考核比例" type="xsd:string"/><xsd:element name="考核金额" type="xsd:string"/><xsd:element name="审核金额" type="xsd:string"/>
</xsd:schema>

3、myschema.xsd文件属性

myschema.xsd文件内容有如下几个标签构成:
xsd:element 标签,记录如下几个比较核心的属性:

name:名称
type:数据类型。
complexType:类似table下面的tr。一个对象可能聚合多个对象。

4、myschema.xsd文件java解析

下面代码包含上述代码结构中属性的解析
tring fXsd = loadResource("myschema.xsd");if (fXsd == null) {throw new BusinessException(ResourceUtil.getString("DataDefine.CannotReadFileFormResource") + "myschema.xsd");}try {Document xsfdocument = DocumentHelper.parseText(fXsd);xsd.loadFromInfoPathXSD(xsfdocument.getRootElement());} catch (Exception e) {logger.error(e.getMessage(), e);throw new BusinessException(e.getMessage());}for (int i = 0; i < this.fDataElementList.size(); i++) {if (this.fDataElementList.get(i) instanceof InfoPath_DataGroup) {InfoPath_DataGroup datagroup = (InfoPath_DataGroup) this.fDataElementList.get(i);if (datagroup.getSubElement().size() == 0) {throw new BusinessException(ResourceUtil.getString("formoper.dupform.label") + datagroup.getDataName() + ResourceUtil.getString("form.dulform.label"));}for (int j = 0; j < datagroup.getSubElement().size(); j++) {if (datagroup.getSubElement().get(j) instanceof InfoPath_DataGroup) {InfoPath_DataGroup subdatagroup = (InfoPath_DataGroup) datagroup.getSubElement().get(j);if (subdatagroup.getSubElement().size() == 0) {throw new BusinessException(ResourceUtil.getString("formoper.dupform.label") + subdatagroup.getDataName() + ResourceUtil.getString("form.dulform.label"));}}}}}

infopath地址:https://gitee.com/pangu-dm/infopath

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:

Infopath入门到精通系列-4 Infopath myschema.xsd文件 解析相关推荐

  1. 【ArcGIS遇上Python】从入门到精通系列之第一章:ArcGIS Python简介

    文章目录 1. Python简介 2. Python的特点 3. ArcGIS的脚本语言 4. ArcGIS中的Python脚本编辑器 1. Python简介 Python是一种跨平台的计算机程序设计 ...

  2. Linux从入门到精通系列之PPTP

    Linux从入门到精通系列之PPTP 今天我们来说下怎么在linux环境下如何搭建PPTP-×××,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该 ...

  3. Jenkins pipeline 入门到精通系列文章

    Jenkins2 入门到精通系列文章. Jenkins2 下载与启动 jenkins2 插件安装 jenkins2 hellopipeline jenkins2 pipeline介绍 jenkins2 ...

  4. html5从基础到入门,Html5从入门到精通系列2:Html5基础

    Html5从入门到精通系列2:Html5基础 (2015-04-04 11:36:53) 标签: html5 html5教程 html5视频教程 html5从入门到精通 2-1.1.HTML5简介.M ...

  5. ArcGIS10从入门到精通系列实验图文教程(附配套实验数据持续更新)

    文章目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 本教程<ArcGIS从入门到精通系列实验教程>内容包括:ArcGIS平台简介.ArcGIS应用基础.空间数据的采集 ...

  6. OpenShift从入门到精通系列之一:通过OpenShift实现数字化转型

    OpenShift从入门到精通系列之一:通过OpenShift实现数字化转型 一.企业数字化转型之PaaS 二.企业数字化转型之DevOps 三.企业数字化转型之微服务 四.微服务架构的主要类型 五. ...

  7. Vue3+TypeScript从入门到精通系列之:Try changing the lib compiler option to es2015 or later

    Vue3+TypeScript从入门到精通系列之:Try changing the lib compiler option to es2015 or later tsc ./泛型接口.ts tsc编译 ...

  8. 网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享

     网沙(爱玩啥)韩顺平.循序渐进学.java.从入门到精通系列视频分享 韩顺平.循序渐进学.java.从入门到精通.第0讲-开山篇 韩顺平.循序渐进学.java.从入门到精通.第1讲-内容介绍.项 ...

  9. Oracle数据库从入门到精通系列之二:SGA和后台进程

    Oracle数据库从入门到精通系列之二:SGA和后台进程 一.SGA 二.后台进程 一.SGA Oracle有一个很大的内存块,称为系统全局区(SGA),用于(但不限于): 维护所有进程需要访问的内部 ...

最新文章

  1. day20 文件上传下载
  2. 9大领域50名青年学者获2021年科学探索奖,单人奖金300万元
  3. 什么是 PureMVC 框架(提供下载)
  4. php如何发起远程请求,PHP请求远程地址如何设置超时时间
  5. (Java多线程)多线程原理和使用
  6. poj2513 Fence Repair(小根堆)
  7. 算法训练营 重编码_编码训练营后十四天如何找到工作
  8. java动态生成excel_java动态生成excel打包下载
  9. 量化评估推荐系统效果
  10. Java中的包扫描(工具)
  11. (第十一章)数据表的增删改
  12. UI设计教程 | 5步快速制作2.5D插画
  13. oracle数据库:约束
  14. 转载 GIS的下个十年(Cary Mann, vice president, Bentley)
  15. arm64平台进程全局页表pgd的创建和切换
  16. 零基础应如何学习UI设计
  17. \xe5\x8d\xa0\xe7\x94\xa8\xe3\x80\x82,16进制乱码转化为可读字符
  18. Python:PyQt 时间组件
  19. sec和asec--正割和反正割函数
  20. LU分解Matlab算法分析

热门文章

  1. frdora10_a8_linux,8楼 【A8】 linux系统的不刻盘的安装 一:.pdf
  2. 管理学原理 【1049】
  3. 华为写代码的这13年,成为了我最宝贵的人生历程
  4. 由爱故生忧,由爱故生怖,若离于爱者,无忧亦无怖。
  5. 协同学:大自然构造的奥秘--哈肯
  6. MySQL优化之超大分页查询
  7. 抖音直播带货数据在哪里看?有哪些考核指标?
  8. 不同大小硬盘对拷oracle,如何实现硬盘对拷_大小不一样的硬盘怎么实现对拷?_不同大小硬盘对拷...
  9. Android:程序锁功能的简单实现
  10. 电大计算机毕业论文任务书范文,广播电视大学毕业设计任务书表格.doc