📄 jaxbxml3.htm
字号:
lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">JAXB</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">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=wp88781> </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=wp88785></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">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"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">System.out.println( "Ship the following items to: " );<A name=wp88786> </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=wp88789></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">6.
get</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">display</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">USAddress address = po.getShipTo();<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>displayAddress( address );<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>Items items = po.getItems();<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>displayItems( items );<A name=wp88790> </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=wp88796></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">7.
</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">} catch( JAXBException je ) {<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>je.printStackTrace();<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">} catch( IOException ioe ) {<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>ioe.printStackTrace();<A name=wp88797> </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=wp88801></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">8.
Java</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">USAddress</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"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">public static void displayAddress( USAddress address ) {<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>// display the address<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>System.out.println( "\t" + address.getName() );<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>System.out.println( "\t" + address.getStreet() );<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>System.out.println( "\t" + address.getCity() +<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><SPAN style="mso-spacerun: yes"> </SPAN>", " + address.getState() +<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>" "<SPAN style="mso-spacerun: yes"> </SPAN>+ address.getZip() );<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>System.out.println( "\t" + address.getCountry() + <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>"\n");<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">}<A name=wp88804> </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=wp88815></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">9.
Items</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"><O:P></O:P></SPAN></P>
<DIV align=left><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN">public static void displayItems( Items items ) {<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>// the items object contains a List of <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>//primer.po.ItemType objects<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>List itemTypeList = items.getItem();<A name=wp88816> </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=wp93455></A><SPAN lang=EN
style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial; mso-ansi-language: EN">10.
</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">Items</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">for( Iterator iter = itemTypeList.iterator(); iter.hasNext(); ) <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"> Items.ItemType item = (Items.ItemType)iter.next();<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"> System.out.println( "\t" + item.getQuantity() +<O:P></O:P></SPAN></PRE><PRE style="MARGIN-LEFT: 36pt"><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"> " copies of \"" + item.getProductName() +<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">}<A name=wp93456> </A><O:P></O:P></SPAN></PRE></DIV>
<H4 align=left><A name=wp88832></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=wp88835></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">Ship the following items to:<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>Alice Smith<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>123 Maple Street<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>Cambridge, MA 12345<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>US<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><![if !supportEmptyParas]> <![endif]><O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>5 copies of "Nosferatu - Special Edition (1929)"<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>3 copies of "The Mummy (1959)"<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>3 copies of "Godzilla and Mothra: Battle for Earth/Godzilla<O:P></O:P></SPAN></PRE><PRE><SPAN lang=EN style="COLOR: black; mso-ansi-language: EN"><SPAN style="mso-spacerun: yes"> </SPAN>vs. King Ghidora"<A name=wp88840> </A><O:P></O:P></SPAN></PRE></DIV>
<H3 align=left><A name=wp88853></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">2<O:P></O:P></SPAN></H3>
<P class=pbody align=left><A name=wp88856></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">2</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"><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=wp88939></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: 12pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN"><<I>JWSDP_HOME</I>>/jaxb-1.0/examples/users-guide/SampleApp2/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-font-family: 'Courier New'">类为三个标准的</SPAN></CODE><CODE><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -