如何在Java中使用非标准变量名来生成XML标记?

如何在Java中使用非标准变量名来生成XML标记?,java,android,xml,jaxb,Java,Android,Xml,Jaxb,我正在尝试使用Jaxb通过Java以编程方式编写AndroidManifest.xml文件。问题出现在定义属性时,属性遵循string:string命名约定。例如,清单元素的定义如下: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:

我正在尝试使用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.xmlement的javadoc中的一个示例:

  @XmlElement(name="item-price")
  public java.math.BigDecimal price;
name参数是您将在XML中看到的参数

但是这个android:namespace前缀,应该根据namespace定义显示,该定义是namespace的参数:

  @XmlElement(name="item-price", namespace="http://schemas.android.com/apk/res/android")
  public java.math.BigDecimal price;
编组后,您很可能会看到“ns1:”代替android:,但这没关系


获取带注释的Java代码的最简单方法是:编写(或查找)XML模式并通过
xjc
运行它。一直工作-几乎;-)

您已经开始/尝试的java实现是什么?正如我所说的,我正在尝试使用Jaxb来实现它。因此,我在定义根元素及其子元素时没有问题,但是对于属性,我被卡住了,因为它们不遵循Java变量命名约定。非常感谢。