我正在将一个项目从jaxb1.0迁移到2.1。当使用jaxb2.1(通过antxjc任务)从xsd生成类时,生成的类缺少没有任何内容的元素,如下所示:....但是当元素确实有内容时会生成文件,如下所示:为什么会这样?先前生成的一组类(使用jaxb1.0)包含所有元素的类,而不仅仅是那些有内容的类。如何让jaxb生成这些缺失的类?我真的无权更改xsd(但如果确实有必要,我可以这样做)。 最佳答案 好消息是您不需要生成“缺失类”,我将在下面通过示例进行演示。schema.xsd下面是您的XML架构的简化版本。福JAXB(JSR-222)
我有一个wsdl文档,其摘录如下所示...Structureforcustomername我知道xs:element/@name并且我想获取最近的xs:documentation元素。使用上面的示例,我知道xs:element/@name="FullName",并且我想从最近的xs:documentation节点获取文本“Structureforcustomername”!我已经尝试更改我在stackoverflow(和其他站点)上找到的一些示例,但它们都不起作用。典型:0)。干杯。感谢您的回答...希望这会有所帮助...publicstaticstringDecryptStupidC
我正在尝试在VisualStudio中创建自己的xml架构。但是我不能创建任何复杂类型,例如Rectangle类型,也不能创建可继承类型,例如Shape。schema.xsd如下,我得到的错误是:命名空间“”在此模式中不可引用。[第6行xs:extensionbase="Shape">UndefinedcomplexType'Shape'用作复杂类型扩展的基础[再次是第6行]内容: 最佳答案 您需要为目标命名空间绑定(bind)一个前缀:xmlns:m="MySchema"并在对模式中定义的组件的引用中使用它base="m:Shap
我定义了以下XMLcomplexType:和:但是,在验证时,我收到一条错误消息,指出losscomplexType及其扩展中不允许使用all模型组propLoss定义。我做错了什么?谢谢! 最佳答案 propLoss的一个问题是您无法在XMLSchema(1.0)中扩展all组。来自规范:Note:Thisspecificationallowsonlyappending,andnototherkindsofextensions.Thisdecisionsimplifiesapplicationprocessingrequiredt
我想获取时间戳(例如1263531246)并将其转换为适合输出到符合xs:dateTime的属性字段中的XML文件的字符串表示形式。xs:dateTime期望如下内容:2002-05-30T09:30:10-06:00理想情况下,我会使用包含与UTC的偏移量的输出形式(如上所述)。在这个项目中,我不得不使用Perl。有什么建议吗? 最佳答案 使用权DateTime格式化模块,你可以在格式化字符串和DateTime对象,无需编写任何痛苦的正则表达式来解析或使用strftime()进行格式化。您似乎需要XSD格式(ISO8601的子集,
我必须访问一个有缺陷的Web服务,其中WSDL中的某些字段具有xs:date类型,但我必须将它们填充为xs:dateTime。是否可以使用JAXB绑定(bind)文件来更改WSDL中的字段类型?WSDL的片段: 最佳答案 您可以使用@XmlSchemaType注释来配置XML表示:@XmlElement(name="date-of-birth")@XmlSchemaType(name="date")protectedXMLGregorianCalendardateOfBirth;有关详细信息,请参阅:http://bdoughan.
我想为XML文档定义一个XSD架构,示例如下:Homepagehomefoobarlolemipsumihazit/images/main-image.jpgimage/jpegalttextforimage400300/tnc.htmlTermsandConditions_blank有一个View根元素,然后是未知数量的字段元素(各种类型)。我正在使用以下XSD架构:这看起来应该对我有用,但它不起作用,而且我总是收到以下错误:Elementisnotallowedunderelement.Reason:Thefollowingelementsareexpectedatthisloca
我正在为描述文章、论文、书籍等章节的XML文件编写架构。高级概念是可以有任意数量的段落,节、图像和列表。现在,这同样适用于一个部分,它也可以有任意数量的段落、图像、列表;小节也可以(尚未实现)。我当前的模式是这样的:andothercontent-containingelementswillrepeatthepar,image,ol,ul-->如您所见,有很多重复,并且在小节和其他我想重复使用章节/节内容的地方会变得“更糟”。我可以添加一个新元素,比如说或其他,包装段落/图像/列表,但这需要我将该元素添加到我的XML中。这就是我想避免的。所以我的问题是:如何避免在各处重复这些元素?
有没有一种简单的方法可以将标准的Javascript日期格式转换为xs:dateTime所以我有一个日期值(newDate()),我需要以下格式:2015-01-16T20:26:53.974+03:00所以FriJan16201522:26:53GMT+0500(EkaterinburgStandardTime)->2015-01-16T20:26:53.974+03:00这很奇怪,但找不到简单的解决方案。 最佳答案 我相信这与ISO日期格式相同vardate=newDate();varformatted=date.toISOSt
我使用JAXB取消/编码从服务器获取的XML消息。通常我在字段中获取XMLGregorianCalendar值,这些值在描述XSD文件中定义为xs:dateTime,因此到XMLGregorianCalendar的转换由JAXB自动完成。来自XSD文件的示例然而,一个字段被定义为xs:string是这样的:但我收到一个应该代表日期时间的值:2014-08-31T15:00:00Z有什么好的方法,如何将这个字符串转换为XMLGregorianCallendar,还是我应该使用SimpleDateFormat并手动输入模式?我觉得这可能是一个危险的部分。 最佳答