[英]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.