gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:49:31 25 4
gpt4 key购买 nike

我正在尝试使用 Jaxb 通过 Java 以编程方式编写 AndroidManifest.xml 文件。定义属性时会出现问题,该属性遵循 string:string 命名约定。例如,manifest 元素的定义如下:

<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;

名称参数是您将在 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 - 如何在Java中使用非标准变量名来生成XML标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24342833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com