625 lines
37 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
</div>
<h2 class="title" title="Class Binder">Class Binder&lt;XmlNode&gt;</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.Binder&lt;XmlNode&gt;</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">Binder&lt;XmlNode&gt;</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>启用表示相同XML文档的XML信息集节点和JAXB对象之间的同步。</span>
<p> <span>此类的实例维护信息集维护视图的XML节点与XML文档的JAXB表示形式之间的关联。</span> <span>这两个视图之间的导航由方法<a href="../../../javax/xml/bind/Binder.html#getXMLNode-java.lang.Object-"><code>getXMLNode(Object)</code></a><a href="../../../javax/xml/bind/Binder.html#getJAXBNode-XmlNode-"><code>getJAXBNode(Object)</code>提供</a></span> </p>
<p> <span>可以对信息保留视图或文档的JAXB表示进行修改而另一个视图保持未修改。</span> <span>活页夹能够使用适当的Binder更新方法 <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a><a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>将修改后的视图中所做的更改同步到其他视图。</span> </p>
<p> <span>典型的使用场景如下:</span> </p>
<ul>
<li> <span>将XML文档加载到XML信息集表示中</span> </li>
<li> <span><a href="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-"><code>unmarshal(Object)</code></a>到JAXB视图的XML信息集视图。</span> <span>注意节省资源只能将XML信息集视图的子树解组到JAXB视图。</span> </li>
<li> <span>应用程序访问/更新XML文档的JAXB视图。</span> </li>
<li> <span><a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-"><code>updateXML(Object)</code></a>将JAXB视图的修改同步到XML信息集视图中。</span> <span>更新操作保留尽可能多的原始XML信息集即注释PI...</span> </li>
</ul>
<p> <span>Binder实例使用工厂方法<a href="../../../javax/xml/bind/JAXBContext.html#createBinder--"><code>JAXBContext.createBinder()</code></a><a href="../../../javax/xml/bind/JAXBContext.html#createBinder-java.lang.Class-"><code>JAXBContext.createBinder(Class)</code>创建</a></span> </p>
<p> <span>模板参数<code>XmlNode</code>是XML信息集维护表示的根接口/类。</span> <span>需要一个Binder实现来最低限度地支持<code>XmlNode</code><code>org.w3c.dom.Node.class</code></span> <span>Binder实现可以支持替代的XML信息集保留表示。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JAXB 2.0
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/Binder.html#Binder--">Binder</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>
</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>abstract <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/Binder.html#getEventHandler--">getEventHandler</a></span>()</code>
<div class="block">
返回当前事件处理程序或默认事件处理程序(如果尚未设置)。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>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/Binder.html#getJAXBNode-XmlNode-">getJAXBNode</a></span>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
<div class="block">
获取与给定XML元素关联的JAXB对象。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>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/Binder.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">
获取基础实现中的特定属性
<tt>Binder</tt>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>abstract <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/Binder.html#getSchema--">getSchema</a></span>()</code>
<div class="block">
<span>获取由<a href="../../../javax/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法设置的最后<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象包括null</span>
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#getXMLNode-java.lang.Object-">getXMLNode</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</code>
<div class="block">
获取与给定JAXB对象关联的XML元素。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-">marshal</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject, <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
<div class="block">
将JAXB对象树编组到新的XML文档。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.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">
允许申请注册一个
<tt>ValidationEventHandler</tt>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.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">
在底层实现中设置特定的属性
<tt>Binder</tt>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.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">
指定marshalunmarshal和update方法是否对其XML内容执行验证。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>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/Binder.html#unmarshal-XmlNode-">unmarshal</a></span>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
<div class="block">
将XML信息集视图解组到JAXB对象树。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract &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/Binder.html#unmarshal-XmlNode-java.lang.Class-">unmarshal</a></span>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode, <a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; declaredType)</code>
<div class="block">
通过向JAXB对象树提供
<tt>declaredType</tt>解组XML根元素。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>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/Binder.html#updateJAXB-XmlNode-">updateJAXB</a></span>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
<div class="block">
获取一个XML节点并更新其关联的JAXB对象及其后代。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-">updateXML</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</code>
<div class="block">
获取JAXB对象并更新其关联的XML节点及其后代。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-">updateXML</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject, <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
<div class="block">
在其关联的XML解析树中更新JAXB对象树中的更改。
</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> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="Binder--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>Binder</h4> <pre>public Binder()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="unmarshal-java.lang.Object-">
<!-- --> </a><a name="unmarshal-XmlNode-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> unmarshal(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>将XML信息集视图解组到JAXB对象树。</span>
<p> <span>该方法类似于<a href="../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-"><code>Unmarshaller.unmarshal(Node)</code></a> 其中添加了维护XML节点和生成的JAXB对象之间的关联从而实现将来的更新操作 <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a><a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a></span> </p>
<p> <span><a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空时, <code>xmlNode</code>及其后代在此操作期间被验证。</span> </p>
<p> <span>此方法抛出<a href="../../../javax/xml/bind/UnmarshalException.html" title="javax.xml.bind中的类"><code>UnmarshalException</code></a>当粘合剂的<a href="../../../javax/xml/bind/JAXBContext.html" title="javax.xml.bind中的类"><code>JAXBContext</code></a>不具有XML元素名称或类型到JAXB映射类的映射经由<tt>@xsi:type</tt>可指定的<tt>xmlNode。</tt></span> <span>方法<a href="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-java.lang.Class-"><code>unmarshal(Object, Class)</code></a>使应用程序能够指定<tt>xmlNode</tt>应映射到的JAXB映射类。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xmlNode</code> - 从中解开XML数据的文件/元素。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创建的JAXB对象树的根对象。
</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>Binder</tt>无法执行XML到Java绑定。</span>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
</dd>
</dl> </li>
</ul> <a name="unmarshal-java.lang.Object-java.lang.Class-">
<!-- --> </a><a name="unmarshal-XmlNode-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshal</h4> <pre>public abstract &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/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode,
<a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; declaredType)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>通过向JAXB对象树提供<tt>declaredType</tt>解组XML根元素。</span>
<p> <span>实现<a href="Unmarshaller.html#unmarshalByDeclaredType">Unmarshal by Declared Type</a></span> </p>
<p> <span>该方法类似于<a href="../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-"><code>Unmarshaller.unmarshal(Node, Class)</code></a> 其中添加了维护XML节点和生成的JAXB对象之间的关联从而实现将来的更新操作 <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a><a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a></span> </p>
<p> <span><a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空时, <code>xmlNode</code>及其后代在此操作期间被验证。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xmlNode</code> - 从中解开XML数据的文档/元素。
</dd>
<dd>
<code>declaredType</code> - 适当的JAXB映射类保存
<tt>node</tt>的XML数据。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<a href="JAXBElement.html">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>Binder</tt>无法执行XML到Java绑定。</span>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何输入参数为空
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JAXB2.0
</dd>
</dl> </li>
</ul> <a name="marshal-java.lang.Object-java.lang.Object-">
<!-- --> </a><a name="marshal-java.lang.Object-XmlNode-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>marshal</h4> <pre>public abstract void marshal(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject,
<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>将JAXB对象树编组到新的XML文档。</span>
<p> <span>此方法类似于<a href="../../../javax/xml/bind/Marshaller.html#marshal-java.lang.Object-org.w3c.dom.Node-"><code>Marshaller.marshal(Object, Node)</code></a> 增加了维护JAXB对象和生成的XML节点之间的关联从而实现了未来的更新操作例如<a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a><a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a></span> </p>
<p> <span><a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空值时在此操作期间验证已编组的xml内容。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>jaxbObject</code> - 要编组的内容树。
</dd>
<dd>
<code>xmlNode</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>
<dd>
<span><code><a href="../../../javax/xml/bind/MarshalException.html" title="class in javax.xml.bind">MarshalException</a></code> - 如果<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false或者<tt>Binder</tt>无法<tt>组织jaxbObject</tt> (或任何可从<tt>jaxbObject可访问的</tt>对象)。</span>
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何方法参数为空
</dd>
</dl> </li>
</ul> <a name="getXMLNode-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getXMLNode</h4> <pre>public abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> getXMLNode(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</pre>
<div class="block">
<span>获取与给定JAXB对象关联的XML元素。</span>
<p> <span>一旦JAXB对象树与XML片段相关联该方法就可以在两个树之间进行导航。</span> </p>
<p> <span>通过绑定方法和更新方法建立XML元素和JAXB对象之间的关联。</span> <span>请注意,此关联是部分的;</span> <span>并不是所有的XML元素都具有关联的JAXB对象并不是所有的JAXB对象都具有关联的XML元素。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>jaxbObject</code> - 从先前调用返回JAXB对象树的绑定或更新方法可访问的实例。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果指定的JAXB对象不知道此<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"><code>Binder</code></a> 或者如果它不与XML元素相关<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"></a> 则为null。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果jaxbObject参数为空
</dd>
</dl> </li>
</ul> <a name="getJAXBNode-java.lang.Object-">
<!-- --> </a><a name="getJAXBNode-XmlNode-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getJAXBNode</h4> <pre>public abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getJAXBNode(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</pre>
<div class="block">
<span>获取与给定XML元素关联的JAXB对象。</span>
<p> <span>一旦JAXB对象树与XML片段相关联该方法就可以在两个树之间进行导航。</span> </p>
<p> <span>XML元素和JAXB对象之间的关联是由unmarshalmarshal和update方法建立的。</span> <span>请注意,此关联是部分的;</span> <span>并不是所有的XML元素都具有关联的JAXB对象并不是所有的JAXB对象都具有关联的XML元素。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>如果指定的XML节点对于该<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"><code>Binder</code></a>不知道或者如果它不与JAXB对象相关<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"></a> 则为null。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
</dd>
</dl> </li>
</ul> <a name="updateXML-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>updateXML</h4> <pre>public abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> updateXML(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>获取JAXB对象并更新其关联的XML节点及其后代。</span>
<p> <span>这是一种方便的方法:</span> </p>
<pre> <span>updateXML( jaxbObject, getXMLNode(jaxbObject));</span> </pre>
</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> - 如果任何意外的问题发生更新对应的XML内容。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果jaxbObject参数为空
</dd>
</dl> </li>
</ul> <a name="updateXML-java.lang.Object-java.lang.Object-">
<!-- --> </a><a name="updateXML-java.lang.Object-XmlNode-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>updateXML</h4> <pre>public abstract <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> updateXML(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject,
<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>在其关联的XML解析树中更新JAXB对象树中的更改。</span>
<p> <span>这个操作可以被认为是一个“就地”编组。</span> <span>不同的是这个操作不是创建一个全新的XML树而是更新一个现有的树同时尽可能地保留XML。</span> </p>
<p> <span>例如未绑定到JAXB的XML中的未知元素/属性将保持不变(而编组操作将创建不包含任何这些的新树)。</span> </p>
<p> <span>作为副作用此操作更新XML节点和JAXB对象之间的关联。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>jaxbObject</code> - 潜在修改的JAXB对象树的根
</dd>
<dd>
<code>xmlNode</code> - 更新目标XML解析树的根
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>返回更新的XML节点。</span>
<span>通常,这是与<i>xmlNode</i>一样传递的节点,但它可能是一个不同的对象,例如当对象的标签名称已更改时。</span>
</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> - 如果任何意外的问题发生更新对应的XML内容。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何输入参数为空
</dd>
</dl> </li>
</ul> <a name="updateJAXB-java.lang.Object-">
<!-- --> </a><a name="updateJAXB-XmlNode-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>updateJAXB</h4> <pre>public abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> updateJAXB(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
<div class="block">
<span>获取一个XML节点并更新其关联的JAXB对象及其后代。</span>
<p> <span>这个操作可以被认为是一个“就地”解组。</span> <span>不同之处在于该操作不是创建一个全新的JAXB树而是更新现有的树尽可能多地重用JAXB对象。</span> </p>
<p> <span>作为副作用此操作更新XML节点和JAXB对象之间的关联。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>返回更新的JAXB对象。</span>
<span>通常,这是从早期的<a href="../../../javax/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-"><code>marshal(Object,Object)</code></a><a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>方法调用返回的相同对象但它可能是一个不同的对象例如当XML元素的名称已更改时。</span>
</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> - 如果任何意外的问题发生更新相应的JAXB映射内容。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
</dd>
</dl> </li>
</ul> <a name="setSchema-javax.xml.validation.Schema-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setSchema</h4> <pre>public abstract void setSchema(<a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</pre>
<div class="block">
指定marshalunmarshal和update方法是否对其XML内容执行验证。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>schema</code> - 设置为null以禁用验证。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(Schema)</code></a>
</dd>
</dl> </li>
</ul> <a name="getSchema--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSchema</h4> <pre>public abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> getSchema()</pre>
<div class="block">
<span>获取由<a href="../../../javax/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法设置的最后<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象包括null</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
用于验证的Schema对象如果不存在则为null
</dd>
</dl> </li>
</ul> <a name="setEventHandler-javax.xml.bind.ValidationEventHandler-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setEventHandler</h4> <pre>public abstract 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>允许申请注册一个<tt>ValidationEventHandler</tt></span>
<p> <span><tt>ValidationEventHandler</tt>将由JAXB提供程序调用如果在调用任何Binder拆组组织和更新方法时遇到任何验证错误。</span> </p>
<p> <span>使用null参数调用此方法将导致Binder恢复为默认的默认事件处理程序。</span> </p>
</div>
<dl>
<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="getEventHandler--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEventHandler</h4> <pre>public abstract <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="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="setProperty-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setProperty</h4> <pre>public abstract 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>在底层实现中设置特定的属性<tt>Binder</tt></span>
<span>此方法只能用于设置一个标准的JAXB定义的unmarshal / marshal属性或者为binderunmarshal或marshal提供特定的属性。</span>
<span>尝试设置未定义的属性将导致抛出PropertyException。</span>
<span>参见<a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a><a href="Marshaller.html#supportedProps">Supported Marshal Properties</a></span>
</div>
<dl>
<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>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果name参数为null
</dd>
</dl> </li>
</ul> <a name="getProperty-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getProperty</h4> <pre>public abstract <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>获取Binder基础实现中的<tt>特定属性</tt></span>
<span>此方法只能用于获取标准JAXB定义的解组/元数据属性之一或粘合剂,解组或元组的提供者特定属性。</span>
<span>尝试获取未定义的属性将导致抛出PropertyException。</span>
<span>参见<a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a><a href="Marshaller.html#supportedProps">Supported Marshal Properties</a></span>
</div>
<dl>
<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>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果name参数为null
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>