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

JAXB unmarshall和嵌入式XSD

危飞文
2023-03-14

我有一个嵌入了XSD的XML,所以它类似于:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="elem1" type="xs:string" minOccurs="0" />
                <xs:element name="elem2" type="xs:string" minOccurs="0" />
                <xs:element name="elem3" type="xs:string" minOccurs="0" />
                <xs:element name="elem4" type="xs:string" minOccurs="0" />
                <xs:element name="elem5" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <Table>
    <elem1>random1</elem1>
    <elem2/>
    <elem3>random3</elem3>
    <elem4>random4</elem4>
    <elem5>random5</elem5>
  </Table>
</NewDataSet>

我目前正在使用嵌入式XSD的a克隆作为模式:

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
  <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element name="Table">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="elem1" type="xs:string" minOccurs="0" />
            <xs:element name="elem2" type="xs:string" minOccurs="0" />
            <xs:element name="elem3" type="xs:string" minOccurs="0" />
            <xs:element name="elem4" type="xs:string" minOccurs="0" />
            <xs:element name="elem5" type="xs:string" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:complexType>
</xs:element>

null

但问题是,当我想取消封送一个条目XML时,我会得到以下错误消息:

意外元素(URI:“http://www.w3.org/2001/XMLSchema”,本地:“schema”)。所需元素为<{}table>

我尝试在我的XSD上添加标记,但没有成功,仍然会因为名称空间而得到一个错误(我想是吗?)。
任何帮助和解释都将非常感谢。

共有1个答案

季小云
2023-03-14

您可以利用XMLStreamReader上的StAXStreamFilter,以便与XML模式相对应的元素不作为事件报告。然后可以使用JAXB从XMLStreamReader中解封。

  • JAXB筛选解析
 类似资料:
  • 我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?

  • 问题内容: 编辑:改写问题: 我想将ActiveMQ用作服务器和客户端应用程序之间的信使服务。 我正在尝试在服务器内设置嵌入式代理(即不是单独的进程),以处理产生的消息供我的客户使用。该队列被保留。 经纪人初始化如下: 修补之后,我最终得到了服务器部分: 客户端非常相似,看起来像这样: main方法只是在线程中启动其中的每一个,以开始生成/接收消息。 …但是我在每个线程的开头都遇到以下问题: 看来

  • 手持设备已经走过了漫长的道路,Rexx有很多方法可以在这些设备上运行。 Rexx支持Pocket PC,Palm设备,PDA和其他智能手机设备。 Rexx在这些平台上工作的优势在于Rexx实际上是一个小重量编程系统,它只能在几千字节的范围内运行。 因此,在这些设备上运行Rexx程序变得更加容易。 手持设备上的Rexx可以在以下模式下运行 - 第一种模式是本机节点,它直接在操作系统上运行。 在此模式

  • 本文向大家介绍Bosun 嵌入式模板和CSS样式,包括了Bosun 嵌入式模板和CSS样式的使用技巧和注意事项,需要的朋友参考一下 示例 您可以将另一个模板主体嵌入到模板中,{{template "mysharedtemplate" .}}以重复使用共享的组件。这是一个创建标题模板的示例,该模板可以在所有其他模板主体的顶部重复使用。它还使用CSS来对输出进行样式化,以便于阅读。请注意,所有<sty

  • 回顾介绍中, php构建了一个层级系统. 最高层是提供用户空间函数和类库的所有扩 展. 同时, 其下是服务API(SAPI)层, 它扮演了webserver(比如apache, iis以及命令行接口 cli)的接口. 在这许多sapi实现中有一个特殊的sapi就是嵌入式sapi. 当这个sapi实现被构建时, 将 会创建一个包含所有你已知的php和zend api函数以及变量的库对象, 这个库对象

  • 主要涉及到嵌入式软件开发、嵌入式驱动开发、RTOS 开发、IOT 开发等知识点。