mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-05 08:12:43 +08:00
94 lines
4.8 KiB
HTML
94 lines
4.8 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.xml.bind.annotation
|
||
</div>
|
||
<h2 class="title" title="Annotation Type XmlMixed">Annotation Type XmlMixed</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre><a href="../../../../java/lang/annotation/Retention.html" title="annotation in java.lang.annotation">@Retention</a>(<a href="../../../../java/lang/annotation/Retention.html#value--">value</a>=<a href="../../../../java/lang/annotation/RetentionPolicy.html#RUNTIME">RUNTIME</a>)
|
||
<a href="../../../../java/lang/annotation/Target.html" title="annotation in java.lang.annotation">@Target</a>(<a href="../../../../java/lang/annotation/Target.html#value--">value</a>={<a href="../../../../java/lang/annotation/ElementType.html#FIELD">字段</a>,<a href="../../../../java/lang/annotation/ElementType.html#METHOD">METHOD</a>})
|
||
public @interface <span class="memberNameLabel">XmlMixed</span></pre>
|
||
<div class="block">
|
||
<p> <span>注释JavaBean多值属性以支持混合内容。</span> </p>
|
||
<p> <span>用法受以下限制:</span> </p>
|
||
<ul>
|
||
<li> <span>可以与@XmlElementRef,@XmlElementRefs或@XmlAnyElement一起使用</span> </li>
|
||
</ul>
|
||
<p> <span>以下内容可以插入到@XmlMixed注释的多值属性中</span> </p>
|
||
<ul>
|
||
<li> <span>XML文本信息项被添加为java.lang.String的值。</span> </li>
|
||
<li> <span>子元素信息项被添加为<code>JAXBElement</code>的<a href="../../../../javax/xml/bind/JAXBElement.html" title="javax.xml.bind中的类">实例,</a>或具有使用@XmlRootElement注释的类的实例。</span> </li>
|
||
<li> <span>未绑定到JAXB映射类的未知内容将插入为<a href="../../../../org/w3c/dom/Element.html" title="界面在org.w3c.dom"><code>Element</code></a> 。</span> <span>(假定用@XmlAnyElement注释的属性)</span> </li>
|
||
</ul>
|
||
<span>以下是混合内容的绑定和创建的示例。</span>
|
||
<pre> <span><!-- schema fragment having mixed content -->
|
||
<xs:complexType name="letterBody" mixed="true">
|
||
<xs:sequence>
|
||
<xs:element name="name" type="xs:string"/>
|
||
<xs:element name="quantity" type="xs:positiveInteger"/>
|
||
<xs:element name="productName" type="xs:string"/>
|
||
<!-- etc. -->
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
<xs:element name="letterBody" type="letterBody"/>
|
||
|
||
// Schema-derived Java code:
|
||
// (Only annotations relevant to mixed content are shown below,
|
||
// others are ommitted.)
|
||
import java.math.BigInteger;
|
||
public class ObjectFactory {
|
||
// element instance factories
|
||
JAXBElement<LetterBody> createLetterBody(LetterBody value);
|
||
JAXBElement<String> createLetterBodyName(String value);
|
||
JAXBElement<BigInteger> createLetterBodyQuantity(BigInteger value);
|
||
JAXBElement<String> createLetterBodyProductName(String value);
|
||
// type instance factory
|
||
LetterBody> createLetterBody();
|
||
}</span> </pre>
|
||
<pre> <span>public class LetterBody {
|
||
// Mixed content can contain instances of Element classes
|
||
// Name, Quantity and ProductName. Text data is represented as
|
||
// java.util.String for text.
|
||
@XmlMixed
|
||
@XmlElementRefs({
|
||
@XmlElementRef(name="productName", type=JAXBElement.class),
|
||
@XmlElementRef(name="quantity", type=JAXBElement.class),
|
||
@XmlElementRef(name="name", type=JAXBElement.class)})
|
||
List getContent(){...}
|
||
}</span> </pre>
|
||
<span>以下是具有混合内容的XML实例文档</span>
|
||
<pre> <span><letterBody>
|
||
Dear Mr.<name>Robert Smith</name>
|
||
Your order of <quantity>1</quantity> <productName>Baby
|
||
Monitor</productName> shipped from our warehouse. ....
|
||
</letterBody></span> </pre>
|
||
<span>可以使用以下JAXB API调用构建。</span>
|
||
<pre> <span>LetterBody lb = ObjectFactory.createLetterBody();
|
||
JAXBElement<LetterBody> lbe = ObjectFactory.createLetterBody(lb);
|
||
List gcl = lb.getContent(); //add mixed content to general content property.
|
||
gcl.add("Dear Mr."); // add text information item as a String.
|
||
|
||
// add child element information item
|
||
gcl.add(ObjectFactory.createLetterBodyName("Robert Smith"));
|
||
gcl.add("Your order of "); // add text information item as a String
|
||
|
||
// add children element information items
|
||
gcl.add(ObjectFactory.
|
||
createLetterBodyQuantity(new BigInteger("1")));
|
||
gcl.add(ObjectFactory.createLetterBodyProductName("Baby Monitor"));
|
||
gcl.add("shipped from our warehouse"); // add text information item</span> </pre>
|
||
<p> <span>有关其他常见信息,请参阅javax.xml.bind.package javadoc中的“Package Specification”。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JAXB2.0
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |