public class SimpleXmlHandler extends Object
| 构造器和说明 |
|---|
SimpleXmlHandler() |
| 限定符和类型 | 方法和说明 |
|---|---|
static List<Map<String,String>> |
parse(InputStream input)
待解析XML文件 格式必须符合如下规范:
1.最多三级,每级的node名称自定义,一级节点为根节点,不能包含属性,如:encryptors;
2.二级节点支持节点属性,属性将被视作子节点,二级节点如:encryptor;
3.三级节点不能包含属性,三级节点如:encryptorId;
4.CDATA必须包含在节点中,不能单独出现;
xml文件:
<?
|
static List<Map<String,String>> |
parse(String xml) |
static void |
validate(InputStream xmlIn,
InputStream xsdIn)
通过Schema验证xml文件
|
static void |
validate(String xml,
String xsd) |
public static List<Map<String,String>> parse(InputStream input)
待解析XML文件 格式必须符合如下规范: 1.最多三级,每级的node名称自定义,一级节点为根节点,不能包含属性,如:encryptors; 2.二级节点支持节点属性,属性将被视作子节点,二级节点如:encryptor; 3.三级节点不能包含属性,三级节点如:encryptorId; 4.CDATA必须包含在节点中,不能单独出现; xml文件: <?xml version="1.0" encoding="UTF-8"?> <encryptors xmlns="http://cn.ponfee/encryptor" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cn.ponfee/encryptor encryptor.xsd"> <encryptor> <!-- require --> <encryptorId>1</encryptorId> <!--元素:require;规则:以(classpath:或classpath*:或file:或context:开头,默认以classpath开头 )--> <keyStore><![CDATA[classpath:META-INF/encrypt/encryptors/1.pfx]]></keyStore> <!-- require --> <storePass>1234</storePass> <!-- require --> <keyPass>1234</keyPass> <!-- optional[可选],值:[pfx|jks] --> <storeType>pfx</storeType> <!-- implied[可选],不填默认选第1个密钥对 --> <alias>45e4ea70a3589e96cd670c8e5c8c7be5_28766470-a40c-4c9e-b312-d7a5618db23b</alias> </encryptor> ... <encryptor>...</encryptor> </encryptors> xsd文件: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://cn.ponfee/encryptor" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://cn.ponfee/encryptor"> <element name="encryptors"> <complexType> <sequence> <element maxOccurs="unbounded" name="encryptor" type="tns:encryptorType"/> </sequence> </complexType> </element> <complexType name="encryptorType"> <sequence> <element name="encryptorId" type="string"/> <element name="keyStore" type="tns:resourceType"/> <element name="storePass" type="string"/> <element name="keyPass" type="string"/> <element minOccurs="0" name="storeType" type="tns:storeTypeType"/> <element minOccurs="0" name="alias" type="string"/> </sequence> </complexType> <simpleType name="storeTypeType"> <restriction base="string"> <enumeration value="jks"/> <enumeration value="pfx"/> </restriction> </simpleType> <simpleType name="resourceType"> <restriction base="string"> <pattern value="(classpath:|classpath\*:|file:(([c-zC-Z]:)(/|\\\\)){0,1}|context:){0,1}[^:\?\|\*]*" /> </restriction> </simpleType> </schema>
public static void validate(InputStream xmlIn, InputStream xsdIn)
Copyright © 2023. All rights reserved.