当前位置: 首页 > 知识库问答 >
问题:

XML空/空验证

严远
2023-03-14

我是XML验证方面的新手,在调用adobe server生成PDF之前,我被要求对XML进行验证。我有以下内容,我们通过对象获取XML,然后调用。如果有任何元素为null或空以停止生成pdf,任何人都可以帮助我一步一步地验证XML吗

public class MyJAXBUtil {

    public static String obj2Xml(Class<?> class, Object object) throws ServiceException {
        try {   
            JAXBContext jaxbContext = JAXBContext.newInstance(class);
            Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
            StringWriter writer = new StringWriter();
            jaxbMarshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
            jaxbMarshaller.marshal(object, writer);
            return writer.getBuffer().toString();
        } catch (JAXBException jaxbException) {
            throw new ServiceException(jaxbException);
        }
    }

共有1个答案

任飞龙
2023-03-14

您可以在Marshaller上设置Schema的实例,以便在marshall操作期间执行验证。在XML模式中,可以定义缺少元素的规则。

获取更多信息

  • http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html
 类似资料:
  • 我是XML新手。这是一个家庭作业。我已经尽了最大努力,但我无法让实例文档进行验证。我总是犯错误 “找不到元素'站点'的声明。 我想我可能错误地声明了一些名称空间或者schemaLocations。有人能给我指一下正确的方向吗? 作业步骤: > <块引用> 在sites.xml文件中,向根站点元素添加命名空间声明,将xs前缀与XML Schema命名空间的URI相关联。为文件指定默认命名空间http

  • 我有一个XML文件,其结构如下: XSD模式: 和可视化的XSL文件(学生tylesheet.xsl): 我目前正在学习一门关于XML的短期课程,任务是在XML文件中构建给定的XSD模式和一些示例记录,然后最终使用XSLT将内容可视化为超文本标记语言。其中一项任务指出,我需要使用“urn:学生”作为结构的默认命名空间。然而,当我这样做的时候,我不会在最终的可视化中收到数据。当我从XML文件中删除“

  • 主要内容:命名冲突,使用前缀来避免命名冲突,XML 命名空间 - xmlns 属性,统一资源标识符(URI,全称 Uniform Resource Identifier),默认的命名空间,实际使用中的命名空间XML 命名空间提供避免元素命名冲突的方法。 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。 这个 XML 携带 HTML 表格的信息: <table> <tr> <td>Apples</td> <td>Bananas</td> <

  • 问题内容: 我想针对XSD架构验证XML文件。XML文件根元素没有任何名称空间或xsi详细信息。它没有属性,只是。 我已经尝试从http://www.ibm.com/developerworks/xml/library/x-javaxmlvalidapi.html尝试以下代码,但运气不佳 xml可以使用包含的名称空间标头等(通过xmlspy添加)很好地验证,但是我想可以不用手动编辑源文件就可以声明

  • 我无法使用下面的XSD验证XML, XSD数据 我在用XML验证这个XSD时遇到以下错误, cvc复合型。2.4.答:发现以元素“standardHeader”开头的内容无效。应为“{standardHeader}”之一。 如何提供此标签:

  • 我需要解析和打印ns4:功能部分。空手道以json格式打印它。我试着参考这个答案。但是,我得到'ERROR:'前缀'xsi'的命名空间没有被声明.'错误,如果使用建议的xPath.即, 这是我的XML:它包含许多具有不同“ns”值的部分,但我在这里给出了一个额外的内容。 这是我使用的xPath; 注意:我将上述xml保存在一个单独的文件test1中。xml。我只是在读它并解析它的值。 这就是我得到