Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用xml在java中添加内联模式_Java_Xml_Xsd - Fatal编程技术网

如何使用xml在java中添加内联模式

如何使用xml在java中添加内联模式,java,xml,xsd,Java,Xml,Xsd,我使用Jaxb从xml模式生成xml文件,现有xml文件如下所示 <transaction> <id> <in>computer</in> <sn>1234567</sn> <book>JAVA</book> <author>klen</author> </id> <data> <dateTime

我使用Jaxb从xml模式生成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>

计算机
1234567
JAVA
克伦
2011-06-24T17:08:36.3727674+05:30
犯错误
但是我想在
节点之前添加内联模式

我的模式看起来像

 <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> 

现在我想在node下的node之前添加这个

第一次使用Jaxb有可能吗?我无法使用Jaxb生成带有内联模式的xml文件。由于我的xml太大,我无法使用Dom解析器进行此操作。目前,我尝试先使用Jaxb生成带有数据的xml文件,然后重写xml文件,并在
节点之前的
节点下添加模式


我更喜欢sun提供的api。我是java新手,因此如果添加一些代码片段,对我来说将是完全有帮助的。

您可以在JAXB中使用内联和外部自定义来向现有模式添加其他绑定。我不太熟悉,但JAXB编译器确实支持这种类型的东西。你能给我一些链接,我可以在那里找到如何使用JAXB添加内联模式。我使用netbeans ide,从中绑定我的xml模式,它生成trancaction.java和objectfactory.java的源代码,使用这个源文件它将只生成xml我不能在这个生成的xml中包含xml模式。我认为这个链接在内联绑定和JAXB方面可能对您有所帮助->您必须在生成java绑定类之前添加内部或外部绑定。