如何使用xml在java中添加内联架构

时间:2012-04-03 16:47:04

标签: java xml xsd

我从xml架构使用Jaxb创建xml文件,我现有的xml文件看起来像

<transaction>
  <id>
    <in>computer</in>
    <sn>1234567</sn>
    <book>JAVA</book>
    <author>klen</author>
  </id>
  <data>
    <dateTime>2011-06-24T17:08:36.3727674+05:30</dateTime>
    <key>Err</key>
  </data>
</transaction>

但我想在<id>节点

之前添加内联架构

我的架构看起来像

 <xs:schema id="transaction" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xs:element name="transaction" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">  
      <xs:complexType>  
        <xs:choice minOccurs="0" maxOccurs="unbounded">  
          <xs:element name="id">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="in" type="xs:string" minOccurs="0" />  
                <xs:element name="sn" type="xs:string" minOccurs="0" />  
                <xs:element name="book" type="xs:string" minOccurs="0" />  
                <xs:element name="author" type="xs:string" minOccurs="0" />  
               </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
          <xs:element name="data">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="dateTime" type="xs:dateTime" minOccurs="0" />  
                <xs:element name="key" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
          <xs:element name="productData">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="dateTime" type="xs:dateTime" minOccurs="0" />  
                <xs:element name="key" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
        </xs:choice>  
      </xs:complexType>  
    </xs:element>  
  </xs:schema> 

现在我想在节点下的节点之前添加它。

是否可以在第一次使用Jaxb?我无法使用内联架构使用jaxb.Due生成xml文件到我的xml的大尺寸我无法使用Dom解析器执行此操作。目前我尝试首先使用数据生成xml文件使用jaxb然后重写xml文件并在<transaction>节点之前的<id>节点下添加模式。

我更喜欢sun提供的api。我是java的新手,所以如果添加一些代码区,那对我来说将是完整的。

0 个答案:

没有答案