uTools-Manuals/docs/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.html

1411 lines
83 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.xml.bind.helpers
</div>
<h2 class="title" title="Class AbstractUnmarshallerImpl">Class AbstractUnmarshallerImpl</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.xml.bind.helpers.AbstractUnmarshallerImpl</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口">Unmarshaller</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">AbstractUnmarshallerImpl</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></pre>
<div class="block">
<span>部分默认<tt>Unmarshaller</tt>实现。</span>
<p> <span>这个类提供了部分默认实现<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a>接口。</span> </p>
<p> <span>JAXB Provider必须实现五种方法getUnmarshallerHandlerunmarshalNodeunmarshalXMLReaderInputSourceunmarshalXMLStreamReader和unmarshalXMLEventReader</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JAXB1.0
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- --> </a> <h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.javax.xml.bind.Unmarshaller">
<!-- --> </a> <h3>Nested classes/interfaces inherited from interface javax.xml.bind.<a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></h3> <code><a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="class in javax.xml.bind">Unmarshaller.Listener</a></code></li>
</ul> </li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#validating">validating</a></span></code>
<div class="block">
解密者是否验证
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#AbstractUnmarshallerImpl--">AbstractUnmarshallerImpl</a></span>()</code> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>protected <a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#createUnmarshalException-org.xml.sax.SAXException-">createUnmarshalException</a></span>(<a href="../../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a> e)</code>
<div class="block">
从SAXException创建一个UnmarshalException。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>&lt;A extends <a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a>&gt;<br/>A</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getAdapter-java.lang.Class-">getAdapter</a></span>(<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;A&gt; type)</code>
<div class="block">
获取与指定类型相关联的适配器。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../../javax/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in javax.xml.bind.attachment">AttachmentUnmarshaller</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getAttachmentUnmarshaller--">getAttachmentUnmarshaller</a></span>()</code> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getEventHandler--">getEventHandler</a></span>()</code>
<div class="block">
返回当前事件处理程序或默认事件处理程序(如果尚未设置)。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="class in javax.xml.bind">Unmarshaller.Listener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getListener--">getListener</a></span>()</code>
<div class="block">
<span>返回<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="javax.xml.bind中的类"><code>Unmarshaller.Listener</code></a>注册此<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a></span>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getProperty-java.lang.String-">getProperty</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
getProperty方法的默认实现总是抛出PropertyException因为没有必需的属性。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getSchema--">getSchema</a></span>()</code>
<div class="block">
<span>获取用于执行解密时间验证的JAXP 1.3 <a href="../../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>protected <a href="../../../../org/xml/sax/XMLReader.html" title="interface in org.xml.sax">XMLReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#getXMLReader--">getXMLReader</a></span>()</code>
<div class="block">
获取配置的XMLReader。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#isValidating--">isValidating</a></span>()</code>
<div class="block">
指示Unmarshaller是否配置为在解组操作期间进行验证。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>&lt;A extends <a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a>&gt;<br/>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAdapter-java.lang.Class-A-">setAdapter</a></span>(<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;A&gt; type, A adapter)</code>
<div class="block">
<span>相关联的配置实例<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a>与此unmarshaller。</span>
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAdapter-javax.xml.bind.annotation.adapters.XmlAdapter-">setAdapter</a></span>(<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a> adapter)</code>
<div class="block">
<span>相关联的配置实例<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a>与此unmarshaller。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAttachmentUnmarshaller-javax.xml.bind.attachment.AttachmentUnmarshaller-">setAttachmentUnmarshaller</a></span>(<a href="../../../../javax/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in javax.xml.bind.attachment">AttachmentUnmarshaller</a> au)</code>
<div class="block">
将解析cidcontent-id URI的上下文关联到作为附件传递的二进制数据。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setEventHandler-javax.xml.bind.ValidationEventHandler-">setEventHandler</a></span>(<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> handler)</code>
<div class="block">
允许应用程序注册验证事件处理程序。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setListener-javax.xml.bind.Unmarshaller.Listener-">setListener</a></span>(<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="class in javax.xml.bind">Unmarshaller.Listener</a> listener)</code>
<div class="block">
<span>注册unmarshal事件回调<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="javax.xml.bind中的类"><code>Unmarshaller.Listener</code></a>与这<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a></span>
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name, <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> value)</code>
<div class="block">
setProperty方法的默认实现总是抛出PropertyException因为没有必需的属性。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setSchema-javax.xml.validation.Schema-">setSchema</a></span>(<a href="../../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</code>
<div class="block">
<span>指定应用于验证后续解组操作的JAXP 1.3 <a href="../../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#setValidating-boolean-">setValidating</a></span>(boolean validating)</code>
<div class="block">
指定Unmarshaller是否在解组操作期间进行验证。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.File-">unmarshal</a></span>(<a href="../../../../java/io/File.html" title="class in java.io">File</a> f)</code>
<div class="block">
从指定的文件解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.xml.sax.InputSource-">unmarshal</a></span>(<a href="../../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)</code>
<div class="block">
从指定的SAX InputSource解组XML数据并返回结果内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.InputStream-">unmarshal</a></span>(<a href="../../../../java/io/InputStream.html" title="class in java.io">InputStream</a> is)</code>
<div class="block">
从指定的InputStream中解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>&lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">unmarshal</a></span>(<a href="../../../../org/w3c/dom/Node.html" title="interface in org.w3c.dom">Node</a> node, <a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)</code>
<div class="block">
通过JAXB映射
<tt>declaredType</tt>解组XML数据并返回结果内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.Reader-">unmarshal</a></span>(<a href="../../../../java/io/Reader.html" title="class in java.io">Reader</a> reader)</code>
<div class="block">
从指定的Reader中解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.transform.Source-">unmarshal</a></span>(<a href="../../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> source)</code>
<div class="block">
从指定的XML Source中解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>&lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">unmarshal</a></span>(<a href="../../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> source, <a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)</code>
<div class="block">
通过
<tt>declaredType</tt>从指定的XML源解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.net.URL-">unmarshal</a></span>(<a href="../../../../java/net/URL.html" title="class in java.net">URL</a> url)</code>
<div class="block">
从指定的URL解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLEventReader-">unmarshal</a></span>(<a href="../../../../javax/xml/stream/XMLEventReader.html" title="interface in javax.xml.stream">XMLEventReader</a> reader)</code>
<div class="block">
从指定的解析器解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code>&lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">unmarshal</a></span>(<a href="../../../../javax/xml/stream/XMLEventReader.html" title="interface in javax.xml.stream">XMLEventReader</a> reader, <a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)</code>
<div class="block">
将根元素解组到JAXB映射
<tt>declaredType</tt>并返回生成的内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code>protected abstract <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.xml.sax.XMLReader-org.xml.sax.InputSource-">unmarshal</a></span>(<a href="../../../../org/xml/sax/XMLReader.html" title="interface in org.xml.sax">XMLReader</a> reader, <a href="../../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)</code>
<div class="block">
使用指定的XMLReader和InputSource解组合对象。
</div> </td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code><a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLStreamReader-">unmarshal</a></span>(<a href="../../../../javax/xml/stream/XMLStreamReader.html" title="interface in javax.xml.stream">XMLStreamReader</a> reader)</code>
<div class="block">
从指定的解析器解组XML数据并返回生成的内容树。
</div> </td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code>&lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">unmarshal</a></span>(<a href="../../../../javax/xml/stream/XMLStreamReader.html" title="interface in javax.xml.stream">XMLStreamReader</a> reader, <a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)</code>
<div class="block">
将根元素解组到JAXB映射
<tt>declaredType</tt>并返回生成的内容树。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.bind.Unmarshaller">
<!-- --> </a> <h3>Methods inherited from interface javax.xml.bind.<a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></h3> <code><a href="../../../../javax/xml/bind/Unmarshaller.html#getUnmarshallerHandler--">getUnmarshallerHandler</a>, <a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-">unmarshal</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="validating">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>validating</h4> <pre>protected boolean validating</pre>
<div class="block">
解密者是否验证
</div> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="AbstractUnmarshallerImpl--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AbstractUnmarshallerImpl</h4> <pre>public AbstractUnmarshallerImpl()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getXMLReader--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getXMLReader</h4> <pre>protected <a href="../../../../org/xml/sax/XMLReader.html" title="interface in org.xml.sax">XMLReader</a> getXMLReader()
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>获取配置的XMLReader。</span>
<span>当客户指定的<a href="../../../../javax/xml/transform/sax/SAXSource.html" title="javax.xml.transform.sax中的类"><code>SAXSource</code></a>对象没有XMLReader时使用此方法。</span>
<span><a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a>不是<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口">入门的</a> 所以我们只会使用一个XMLReader实例。</span>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code>
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.transform.Source-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> source)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的XML Source中解组XML数据并返回生成的内容树。</span>
<p> <span>实施<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
<p> <span><a name="saxParserPlugable"></a> <b>SAX 2.0解析器可插拔性</b></span> </p>
<p> <span>客户端应用程序可以选择不使用JAXB提供程序提供的默认解析器机制。</span> <span>任何SAX 2.0兼容解析器可以替代JAXB提供程序的默认机制。</span> <span>要做到这一点,客户端应用程序必须正确配置<tt>SAXSource</tt>包含由SAX 2.0解析器提供实现的<tt>XMLReader。</tt></span> <span>如果XMLReader在其上<tt>注册</tt>了一个<tt>org.xml.sax.ErrorHandler</tt> 则将由JAXB提供者替换以便通过JAXB的<tt>ValidationEventHandler</tt>机制报告验证错误。</span> <span>如果<tt>SAXSource</tt>不包含<tt>XMLReader</tt> 则将使用JAXB提供程序的默认解析器机制。</span> </p>
<p> <span>此解析器替换机制也可用于替换JAXB提供者的解组时间验证引擎。</span> <span>客户端应用程序必须正确配置其SAX 2.0兼容解析器才能执行验证(如上例所示)。</span> <span>在解组操作期间由分析器遇到的任何<tt>SAXParserExceptions</tt>将由JAXB提供商处理并转换成其将经由与<tt>Unmarshaller</tt>注册的<tt>ValidationEventHandler</tt>被报告回客户端JAXB <tt>ValidationEvent</tt>对象。</span> <span><i>注意:</i>指定替代验证SAX 2.0解析器进行解组合并不一定取代JAXB提供程序用于执行按需验证的验证引擎。</span> </p>
<p> <span>客户端应用程序指定在拆组期间使用的替代解析器机制的唯一方法是通过<tt>8854376142431</tt> API。</span> <span>所有其他形式的解组方法文件URL节点等将使用JAXB提供程序的默认解析器和验证器机制。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-">unmarshal</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>source</code> - 解密XML数据的XML源提供者只需要支持SAXSourceDOMSource和StreamSource
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.transform.Source, Class)</code></a>
</dd>
</dl> </li>
</ul> <a name="unmarshal-org.xml.sax.XMLReader-org.xml.sax.InputSource-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>protected abstract <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../org/xml/sax/XMLReader.html" title="interface in org.xml.sax">XMLReader</a> reader,
<a href="../../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>使用指定的XMLReader和InputSource解组合对象。</span>
<span>被调用者应该调用XMLReader的setErrorHandler方法以便将错误传递给客户端指定的ValidationEventHandler。</span>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code>
</dd>
</dl> </li>
</ul> <a name="unmarshal-org.xml.sax.InputSource-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public final <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.xml.sax.InputSource-">Unmarshaller</a></code></span>
</div>
<div class="block">
<span>从指定的SAX InputSource解组XML数据并返回结果内容树。</span>
<p> <span>实施<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.xml.sax.InputSource-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>source</code> - 从中解开XML数据的输入源
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-java.net.URL-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public final <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../java/net/URL.html" title="class in java.net">URL</a> url)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.net.URL-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的URL解组XML数据并返回生成的内容树。</span>
<p> <span>实现<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.net.URL-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>url</code> - 从中解开XML数据的URL
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-java.io.File-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public final <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../java/io/File.html" title="class in java.io">File</a> f)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.File-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的文件解组XML数据并返回生成的内容树。</span>
<p> <span>实施<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.File-">unmarshal</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>f</code> - 从中解开XML数据的文件
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-java.io.InputStream-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public final <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../java/io/InputStream.html" title="class in java.io">InputStream</a> is)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.InputStream-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的InputStream中解组XML数据并返回生成的内容树。</span>
<span>使用这种形式的unmarshal API时验证事件位置信息可能不完整。</span>
<p> <span>实现<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.InputStream-">unmarshal</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>is</code> - 从中解开XML数据的InputStream
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-java.io.Reader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public final <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../java/io/Reader.html" title="class in java.io">Reader</a> reader)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.Reader-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的Reader中解组XML数据并返回生成的内容树。</span>
<span>使用此形式的解密API时验证事件位置信息可能不完整因为Reader不提供系统ID。</span>
<p> <span>实施<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-java.io.Reader-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>reader</code> - 从中解开XML数据的读者
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="isValidating--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isValidating</h4> <pre>public boolean isValidating()
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>指示Unmarshaller是否配置为在解组操作期间进行验证。</span>
<p> <span><i><b>注意:</b>我将此方法命名为isValidating以保持与JAXP保持一致而不是将其命名为getValidating</i></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#isValidating--">isValidating</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果Unmarshaller配置为在解组操作期间进行验证则为true否则为false
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在检索验证标志时发生错误
</dd>
</dl> </li>
</ul> <a name="setEventHandler-javax.xml.bind.ValidationEventHandler-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setEventHandler</h4> <pre>public void setEventHandler(<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> handler)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>允许应用程序注册验证事件处理程序。</span>
<p> <span>如果在调用<tt>unmarshal</tt>方法期间遇到任何验证错误JAXB Provider将调用验证事件处理程序。</span> <span>如果客户端应用程序在调用解组方法之前未注册验证事件处理程序,则所有验证事件将被默认忽略,并可能导致意外行为。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setEventHandler-javax.xml.bind.ValidationEventHandler-">setEventHandler</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>handler</code> - 验证事件处理程序
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在设置事件处理程序时遇到错误
</dd>
</dl> </li>
</ul> <a name="setValidating-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setValidating</h4> <pre>public void setValidating(boolean validating)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>指定Unmarshaller是否在解组操作期间进行验证。</span>
<span>默认情况下, <tt>Unmarshaller</tt>未验证。</span>
<p> <span>该方法只能在调用其中一个解组方法之前或之后调用。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setValidating-boolean-">setValidating</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>validating</code> - 如果Unmarshaller在卸载期间应验证则为true否则为false
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在解密时启用或禁用验证时发生错误
</dd>
</dl> </li>
</ul> <a name="getEventHandler--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEventHandler</h4> <pre>public <a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> getEventHandler()
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
返回当前事件处理程序或默认事件处理程序(如果尚未设置)。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getEventHandler--">getEventHandler</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前的ValidationEventHandler或默认事件处理程序如果尚未设置
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在获取当前事件处理程序时遇到错误
</dd>
</dl> </li>
</ul> <a name="createUnmarshalException-org.xml.sax.SAXException-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createUnmarshalException</h4> <pre>protected <a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a> createUnmarshalException(<a href="../../../../org/xml/sax/SAXException.html" title="class in org.xml.sax">SAXException</a> e)</pre>
<div class="block">
<span>从SAXException创建一个UnmarshalException。</span>
<span>这是为派生类提供的实用方法。</span>
<p> <span>当提供者实现的ContentHandler想要抛出JAXBException时需要通过SAXException来包装异常。</span> <span>如果unmarshaller实现通过JAXBException盲包裹SAXException这样的异常将是由另一个JAXBException包装的SAXException包装的JAXBException。</span> <span>这很傻</span> </p>
<p> <span>此方法检查嵌套异常SAXException并减少这些过度的包装。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
生成的UnmarshalException
</dd>
</dl> </li>
</ul> <a name="setProperty-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setProperty</h4> <pre>public void setProperty(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name,
<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> value)
throws <a href="../../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></pre>
<div class="block">
<span>setProperty方法的默认实现总是抛出PropertyException因为没有必需的属性。</span>
<span>如果提供程序需要处理其他属性,则它应该在派生类中重写此方法。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>name</code> - 要设置的属性的名称。</span>
<span>可以使用常量字段或用户提供的字符串指定此值。</span>
</dd>
<dd>
<code>value</code> - 要设置的属性的值
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></code> - 处理给定属性或值时出错
</dd>
</dl> </li>
</ul> <a name="getProperty-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProperty</h4> <pre>public <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> getProperty(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> name)
throws <a href="../../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></pre>
<div class="block">
<span>getProperty方法的默认实现总是抛出PropertyException因为没有必需的属性。</span>
<span>如果提供程序需要处理其他属性,则它应该在派生类中重写此方法。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getProperty-java.lang.String-">getProperty</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 要检索的属性的名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
请求的属性的值
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></code> - 检索给定属性或值属性名称时出错
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.stream.XMLEventReader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../javax/xml/stream/XMLEventReader.html" title="interface in javax.xml.stream">XMLEventReader</a> reader)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的解析器解组XML数据并返回生成的内容树。</span>
<p> <span>这个方法是<a href="#unmarshalGlobal">Unmarshal Global Root method</a></span> </p>
<p> <span>该方法假定解析器处于START_DOCUMENT或START_ELEMENT事件。</span> <span>解组将从此开始事件到相应的结束事件。</span> <span>如果此方法成功返回,则<tt>reader</tt>将在结束事件之后指向该令牌。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-">unmarshal</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>reader</code> - 要读取的解析器。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.stream.XMLEventReader, Class)</code></a>
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.stream.XMLStreamReader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../../javax/xml/stream/XMLStreamReader.html" title="interface in javax.xml.stream">XMLStreamReader</a> reader)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>从指定的解析器解组XML数据并返回生成的内容树。</span>
<p> <span>实现<a href="#unmarshalGlobal">Unmarshal Global Root Element</a></span> </p>
<p> <span>该方法假定解析器处于START_DOCUMENT或START_ELEMENT事件。</span> <span>解组将从此开始事件到相应的结束事件。</span> <span>如果此方法成功返回,则<tt>reader</tt>将在结束事件之后指向令牌。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>reader</code> - 要读取的解析器。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的java内容树的根对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.stream.XMLStreamReader, Class)</code></a>
</dd>
</dl> </li>
</ul> <a name="unmarshal-org.w3c.dom.Node-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public &lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt; unmarshal(<a href="../../../../org/w3c/dom/Node.html" title="interface in org.w3c.dom">Node</a> node,
<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">从接口复制: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">Unmarshaller</a></code></span>
</div>
<div class="block">
<span>通过JAXB映射<tt>declaredType</tt>解组XML数据并返回生成的内容树。</span>
<p> <span>实施<a href="#unmarshalByDeclaredType">Unmarshal by Declared Type</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>node</code> - 从中解开XML数据的文档/元素。</span>
<span>呼叫者至少必须支持Document和Element。</span>
</dd>
<dd>
<code>expectedType</code> - 适当的JAXB映射类保存
<tt>node</tt>的XML数据。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<a href="#unmarshalDeclaredTypeReturn">JAXB Element</a>代表
<tt>node</tt>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.transform.Source-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public &lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt; unmarshal(<a href="../../../../javax/xml/transform/Source.html" title="interface in javax.xml.transform">Source</a> source,
<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>通过<tt>declaredType</tt>从指定的XML源解组XML数据并返回结果内容树。</span>
<p> <span>实施<a href="#unmarshalByDeclaredType">Unmarshal by Declared Type</a></span> </p>
<p> <span><a href="#saxParserPlugable">SAX 2.0 Parser Pluggability</a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>source</code> - 解密XML数据的XML源提供者只需要支持SAXSourceDOMSource和StreamSource
</dd>
<dd>
<code>expectedType</code> - 适当的JAXB映射类保存
<tt>source</tt>的xml根元素
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
Java内容根植于
<a href="#unmarshalDeclaredTypeReturn">JAXB Element</a>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public &lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt; unmarshal(<a href="../../../../javax/xml/stream/XMLStreamReader.html" title="interface in javax.xml.stream">XMLStreamReader</a> reader,
<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">Unmarshaller</a></code></span>
</div>
<div class="block">
<span>将根元素解组到JAXB映射<tt>declaredType</tt>并返回生成的内容树。</span>
<p> <span>该方法实现<a href="#unmarshalByDeclaredType">unmarshal by declaredType</a></span> </p>
<p> <span>该方法假定解析器处于START_DOCUMENT或START_ELEMENT事件。</span> <span>解组将从此开始事件到相应的结束事件。</span> <span>如果此方法成功返回,则<tt>reader</tt>将在结束事件之后指向令牌。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">unmarshal</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>reader</code> - 要读取的解析器。
</dd>
<dd>
<code>expectedType</code> - 适当的JAXB映射类保存
<tt>reader</tt>的START_ELEMENT XML数据。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
内容树根植于
<a href="#unmarshalDeclaredTypeReturn">JAXB Element representation</a>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public &lt;T&gt; <a href="../../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt; unmarshal(<a href="../../../../javax/xml/stream/XMLEventReader.html" title="interface in javax.xml.stream">XMLEventReader</a> reader,
<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; expectedType)
throws <a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>将根元素解组到JAXB映射<tt>declaredType</tt>并返回生成的内容树。</span>
<p> <span>该方法实现<a href="#unmarshalByDeclaredType">unmarshal by declaredType</a></span> </p>
<p> <span>该方法假定解析器处于START_DOCUMENT或START_ELEMENT事件。</span> <span>解组将从此开始事件到相应的结束事件。</span> <span>如果此方法成功返回,则<tt>reader</tt>将在结束事件之后指向该令牌。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">unmarshal</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>reader</code> - 要读取的解析器。
</dd>
<dd>
<code>expectedType</code> - 适当的JAXB映射类保存
<tt>reader</tt>的START_ELEMENT XML数据。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
内容树根植于
<a href="#unmarshalDeclaredTypeReturn">JAXB Element representation</a>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
</dd>
<dd>
<span><code><a href="../../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Unmarshaller</tt>无法执行XML到Java绑定。</span>
<span><a href="#unmarshalEx">Unmarshalling XML Data</a></span>
</dd>
</dl> </li>
</ul> <a name="setSchema-javax.xml.validation.Schema-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setSchema</h4> <pre>public void setSchema(<a href="../../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>指定应用于验证后续解组操作的JAXP 1.3 <a href="../../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
<span>将null传递给此方法将禁用验证。</span>
<p> <span>此方法将替代已弃用的<a href="../../../../javax/xml/bind/Unmarshaller.html#setValidating-boolean-"><code>setValidating(boolean)</code></a> API。</span> </p>
<p> <span>最初此属性设置为<tt>null</tt></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-">setSchema</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>schema</code> - 用于验证解组操作的模式对象或者禁用验证的null
</dd>
</dl> </li>
</ul> <a name="getSchema--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSchema</h4> <pre>public <a href="../../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> getSchema()</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#getSchema--">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>获取用于执行解密时间验证的JAXP 1.3 <a href="../../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象。</span>
<span>如果在unmarshaller上没有设置Schema则该方法将返回null表示将不执行解密时间验证。</span>
<p> <span>此方法提供已弃用的<code>Unmarshaller.isValidating()</code> API以及对Schema对象的访问的替换<a href="../../../../javax/xml/bind/Unmarshaller.html#isValidating--">功能</a></span> <span>要确定Unmarshaller是否启用了验证只需将null的返回类型测试</span> </p>
<p> <code>boolean isValidating = u.getSchema()!=null;</code> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getSchema--">getSchema</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于执行解密时间验证的Schema对象如果不存在则使用null
</dd>
</dl> </li>
</ul> <a name="setAdapter-javax.xml.bind.annotation.adapters.XmlAdapter-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAdapter</h4> <pre>public void setAdapter(<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a> adapter)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-javax.xml.bind.annotation.adapters.XmlAdapter-">Unmarshaller</a></code></span>
</div>
<div class="block">
<span>相关联的配置实例<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a>与此unmarshaller。</span>
<p> <span>这是调用<code>setAdapter(adapter.getClass(),adapter);</code>的方便方法。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-javax.xml.bind.annotation.adapters.XmlAdapter-">setAdapter</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-"><code>Unmarshaller.setAdapter(Class,XmlAdapter)</code></a>
</dd>
</dl> </li>
</ul> <a name="setAdapter-java.lang.Class-javax.xml.bind.annotation.adapters.XmlAdapter-">
<!-- --> </a><a name="setAdapter-java.lang.Class-A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAdapter</h4> <pre>public &lt;A extends <a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a>&gt; void setAdapter(<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;A&gt; type,
A adapter)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>相关联的配置实例<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a>与此unmarshaller。</span>
<p> <span>每个unmarshaller内部维护一个<a href="../../../../java/util/Map.html" title="java.util中的接口"><code>Map</code></a> &lt; <a href="../../../../java/lang/Class.html" title="java.lang中的类"><code></code></a> <a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a> &gt;,它使用用于解组类,它们的字段/方法的注解为<a href="../../../../javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html" title="javax.xml.bind.annotation.adapters中的注释"><code>XmlJavaTypeAdapter</code></a></span> </p>
<p> <span>此方法允许应用程序使用的一个配置实例<a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="javax.xml.bind.annotation.adapters中的类"><code>XmlAdapter</code></a></span> <span>当未给出适配器的实例时,解组器将通过调用其默认构造函数来创建一个。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-">setAdapter</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>type</code> - 适配器的类型。</span>
<span><a href="../../../../javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html#value--"><code>XmlJavaTypeAdapter.value()</code></a>引用此类型时,将使用指定的实例。</span>
</dd>
<dd>
<span><code>adapter</code> - 要使用的适配器的实例。</span>
<span>如果为空,它将取消注册此类型的当前适配器集。</span>
</dd>
</dl> </li>
</ul> <a name="getAdapter-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAdapter</h4> <pre>public &lt;A extends <a href="../../../../javax/xml/bind/annotation/adapters/XmlAdapter.html" title="class in javax.xml.bind.annotation.adapters">XmlAdapter</a>&gt; A getAdapter(<a href="../../../../java/lang/Class.html" title="class in java.lang"></a>&lt;A&gt; type)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#getAdapter-java.lang.Class-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<span>获取与指定类型相关联的适配器。</span>
<span>这是<a href="../../../../javax/xml/bind/Unmarshaller.html#setAdapter-javax.xml.bind.annotation.adapters.XmlAdapter-"><code>Unmarshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)</code></a>方法的反向操作。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getAdapter-java.lang.Class-">getAdapter</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
</dl> </li>
</ul> <a name="setAttachmentUnmarshaller-javax.xml.bind.attachment.AttachmentUnmarshaller-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAttachmentUnmarshaller</h4> <pre>public void setAttachmentUnmarshaller(<a href="../../../../javax/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in javax.xml.bind.attachment">AttachmentUnmarshaller</a> au)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAttachmentUnmarshaller-javax.xml.bind.attachment.AttachmentUnmarshaller-">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<p> <span>将解析cidcontent-id URI的上下文关联到作为附件传递的二进制数据。</span> </p>
<p></p>
<p> <span>即使在解组器执行XOP处理时也必须支持通过<a href="../../../../javax/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(Schema)</code></a>启用解密时间验证。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setAttachmentUnmarshaller-javax.xml.bind.attachment.AttachmentUnmarshaller-">setAttachmentUnmarshaller</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
</dl> </li>
</ul> <a name="getAttachmentUnmarshaller--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAttachmentUnmarshaller</h4> <pre>public <a href="../../../../javax/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in javax.xml.bind.attachment">AttachmentUnmarshaller</a> getAttachmentUnmarshaller()</pre>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getAttachmentUnmarshaller--">getAttachmentUnmarshaller</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
</dl> </li>
</ul> <a name="setListener-javax.xml.bind.Unmarshaller.Listener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setListener</h4> <pre>public void setListener(<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="class in javax.xml.bind">Unmarshaller.Listener</a> listener)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#setListener-javax.xml.bind.Unmarshaller.Listener-">Unmarshaller</a></code></span>
</div>
<div class="block">
<p> <span>注册unmarshal事件回调<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="javax.xml.bind中的类"><code>Unmarshaller.Listener</code></a>与这<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a></span> </p>
<p> <span>每个Unmarshaller只有一个监听器。</span> <span>设置侦听器将替换以前设置的侦听器。</span> <span>可以通过将侦听器设置为<tt>null</tt>来取消注册当前侦听器。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#setListener-javax.xml.bind.Unmarshaller.Listener-">setListener</a></code>在界面
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>listener</code> - 提供这个<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a>解组事件<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口">回调</a></span>
</dd>
</dl> </li>
</ul> <a name="getListener--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getListener</h4> <pre>public <a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="class in javax.xml.bind">Unmarshaller.Listener</a> getListener()</pre>
<div class="block">
<span class="descfrmTypeLabel">描述从界面: <code><a href="../../../../javax/xml/bind/Unmarshaller.html#getListener--">Unmarshaller</a></code>复制</span>
</div>
<div class="block">
<p> <span>返回<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="javax.xml.bind中的类"><code>Unmarshaller.Listener</code></a>注册此<a href="../../../../javax/xml/bind/Unmarshaller.html" title="javax.xml.bind中的接口"><code>Unmarshaller</code></a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/bind/Unmarshaller.html#getListener--">getListener</a></code>在接口
<code><a href="../../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind">Unmarshaller</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>注册<a href="../../../../javax/xml/bind/Unmarshaller.Listener.html" title="javax.xml.bind中的类"><code>Unmarshaller.Listener</code></a><code>null</code>如果没有监听器已经注册到这个解组员。</span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>