📄 jaxbxml3.htm
字号:
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN">Java</SPAN></CODE><CODE><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">类、四个</SPAN></CODE><CODE><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN">JAXB</SPAN></CODE><CODE><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">绑定框架类以及</SPAN></CODE><CODE><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN">primer.po</SPAN></CODE><CODE><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">包声明了</SPAN></CODE><CODE><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN">import</SPAN></CODE><CODE><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'">。</SPAN></CODE><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import java.io.FileInputStream;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import java.io.IOException;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import java.math.BigDecimal;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import javax.xml.bind.JAXBContext;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import javax.xml.bind.JAXBException;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import javax.xml.bind.Marshaller;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import javax.xml.bind.Unmarshaller;<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">import primer.po.*;<A name=wp88941> </A><O:P></O:P></SPAN></PRE></DIV>
<P class=MsoNormal
style="MARGIN-LEFT: 54pt; TEXT-ALIGN: left; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: widow-orphan"
align=left><A name=wp88952></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">2.
JAXBContext</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例是为处理</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">primer.po</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">中生成的类而创建的。</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">JAXBContext jc = JAXBContext.newInstance( "primer.po" );<A name=wp88953> </A><O:P></O:P></SPAN></PRE></DIV>
<P class=MsoNormal
style="MARGIN-LEFT: 54pt; TEXT-ALIGN: left; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: widow-orphan"
align=left><A name=wp88956></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">3.
</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">一个</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">Unmareshaller</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例被创建,且</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">po.xml</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">被反编组。</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">Unmarshaller u = jc.createUnmarshaller();<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">PurchaseOrder po =<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>(PurchaseOrder)u.unmarshal( <O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>new FileInputStream( "po.xml" ) );<A name=wp88958> </A><O:P></O:P></SPAN></PRE></DIV>
<P class=MsoNormal
style="MARGIN-LEFT: 54pt; TEXT-ALIGN: left; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: widow-orphan"
align=left><A name=wp88964></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">4.
set</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法用来修改内容树的</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">address</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">分支中的信息。</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">USAddress address = po.getBillTo();<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">address.setName( "John Bob" );<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">address.setStreet( "242 Main Street" );<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">address.setCity( "Beverly Hills" );<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">address.setState( "CA" );<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">address.setZip( new BigDecimal( "90210" ) );<A name=wp88966> </A><O:P></O:P></SPAN></PRE></DIV>
<P class=MsoNormal
style="MARGIN-LEFT: 54pt; TEXT-ALIGN: left; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: widow-orphan"
align=left><A name=wp88975></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">5.
</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">一个</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">Marshaller</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例被创建并且更新过的</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">XML</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">内容被编组成</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">system.out</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">setPropertyAPI</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用来指定输出编码,在这里是格式化(人可以识别)的</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">XML</SPAN><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">格式。</SPAN><SPAN
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">Marshaller m = jc.createMarshaller();<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE <O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">);<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">m.marshal( po, System.out );<A name=wp88977> </A><O:P></O:P></SPAN></PRE></DIV>
<H4 align=left><A name=wp88985></A><SPAN
style="FONT-FAMILY: 黑体; mso-ansi-language: EN; mso-ascii-font-family: Arial">示例输出</SPAN><SPAN
lang=EN style="mso-ansi-language: EN"><O:P></O:P></SPAN></H4>
<P class=pbody align=left><A name=wp88988></A><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">运行该示例应用的</SPAN><SPAN
lang=EN style="mso-ansi-language: EN">java Main</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">会产生下面的输出:</SPAN><SPAN
lang=EN style="mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<DIV align=left><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><?xml version="1.0" encoding="UTF-8" standalone="yes"?><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><purchaseOrder orderDate="1999-10-20-05:00"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><shipTo country="US"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><name>Alice Smith</name><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><street>123 Maple Street</street><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><city>Cambridge</city><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><state>MA</state><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><zip>12345</zip><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></shipTo><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><billTo country="US"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><name>John Bob</name><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><street>242 Main Street</street><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><city>Beverly Hills</city><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><state>CA</state><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><zip>90210</zip><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></billTo><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><items><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><item partNum="242-NO"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><productName>Nosferatu - Special Edition (1929)</productName><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><quantity>5</quantity><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><USPrice>19.99</USPrice><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></item><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><item partNum="242-MU"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><productName>The Mummy (1959)</productName><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><quantity>3</quantity><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><USPrice>19.98</USPrice><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></item><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><item partNum="242-GZ"><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><productName>Godzilla and Mothra: Battle for Earth/Godzilla vs.<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>King Ghidora</productName><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><quantity>3</quantity><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><USPrice>27.95</USPrice><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></item><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></items><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"></purchaseOrder><A name=wp88992> </A><O:P></O:P></SPAN></PRE></DIV>
<H3 align=left><A name=wp89030></A><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">示例应用</SPAN><SPAN
lang=EN style="mso-ansi-language: EN">3<O:P></O:P></SPAN></H3>
<P class=pbody align=left><A name=wp155076></A><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">示例应用</SPAN><SPAN
lang=EN style="mso-ansi-language: EN">3</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">主要用来说明如何利用</SPAN><SPAN
lang=EN
style="mso-ansi-language: EN">ObjectFactory</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">类从头创建一个</SPAN><SPAN
lang=EN style="mso-ansi-language: EN">Java</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">内容树,并将其编组成</SPAN><SPAN
lang=EN style="mso-ansi-language: EN">XML</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">数据。</SPAN><SPAN
lang=EN style="mso-ansi-language: EN"><O:P></O:P></SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 54pt; TEXT-ALIGN: left; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-pagination: widow-orphan"
align=left><A name=wp155077></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">1.
</SPAN><CODE><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN"><<I>JWSDP_HOME</I>>/jaxb-1.0/examples/users-guide/SampleApp3/Main.java</SPAN></CODE><CODE><SPAN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ansi-language: EN; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -