簡體   English   中英

如何在Java中使用非標准變量名來生成XML標簽?

[英]How to use non-standard variable names in Java for producing XML tags?

我正在嘗試使用Jaxb通過Java以編程方式編寫AndroidManifest.xml文件。 在定義屬性時會出現問題,這些屬性遵循string:string命名約定。 例如,清單元素的定義如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource" 
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest>

從Java執行此操作時,我無法注釋屬性,因為xmlns:android等不是有效的Java變量。

在仍然使用Jaxb並且不求助於StringBuilder技術生成XML的同時,克服此問題的最佳方法是什么?

這是javax.xml.bind.annotation.XmlElement的javadoc中的示例:

  @XmlElement(name="item-price")
  public java.math.BigDecimal price;

name參數是您將在XML中看到的。

但是這個android:名稱空間前綴,應該根據名稱空間定義出現,這是名稱空間的參數:

  @XmlElement(name="item-price", namespace="http://schemas.android.com/apk/res/android")
  public java.math.BigDecimal price;

編組后,您很可能會看到“ ns1:”代替android :,但這沒關系。

獲取帶注釋的Java代碼的最簡單方法:編寫(或查找)XML模式並通過xjc運行它。 一直在工作-幾乎;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM