代码之家  ›  专栏  ›  技术社区  ›  Istao

用XML模式检查Java值

  •  4
  • Istao  · 技术社区  · 14 年前

    是否可以在XML SSC-y{ mA中用Java中的一些规则检查一个值?

    例如,我有一个 String txt = "blablabla" 我要核实一下 <xs:element name="foo" type="string32"/> ,字符串32 A限制为32克拉。最大长度。

    有可能吗?如果XML模式和JAXB不可能,是否还有其他可能的模式语言?

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  2
  •   bdoughan    14 年前

    import java.io.File;
    import javax.xml.XMLConstants;
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.util.JAXBSource;
    import javax.xml.validation.Schema;
    import javax.xml.validation.SchemaFactory;
    
    public class Demo {
    
        public static void main(String[] args) throws Exception {
            SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 
            Schema schema = sf.newSchema(new File("customer.xsd")); 
    
            JAXBContext jc = JAXBContext.newInstance(Customer.class);
    
            Customer customer = new Customer();
            // populate the customer object
            JAXBSource source = new JAXBSource(jc, customer);
            schema.newValidator().validate(source);
        }
    
    }
    

        2
  •  1
  •   Nathan Hughes    14 年前