java - 生成具有模式中不存在的属性的 XML

标签 java xml jaxb

我正在使用 JAXB 生成 OpenOffice XML,并且需要应用 xml:space="preserve"属性为 t元素。

    <r>
        <t>
            foo
        </t>
    </r>

应该是

    <r>
        <t xml:space="preserve">
            foo
        </t>
    </r>

我使用 JAXB 从 Open Office 模式生成 Java 类。 <t> type 在 CTRElt Java 类中表示为 String,因此无法设置此属性。当我从现有文档解码并编码时,以前存在 space属性不再存在。

架构的相关部分如下:

<xsd:element name="t" type="ST_Xstring" minOccurs="1" maxOccurs="1"> <xsd:annotation> <xsd:documentation>Text</xsd:documentation> </xsd:annotation> </xsd:element>

<xsd:simpleType name="ST_Xstring"> <xsd:annotation> <xsd:documentation>Escaped String</xsd:documentation> </xsd:annotation> <xsd:restriction base="xsd:string" /> </xsd:simpleType>

如何生成具有此要求的 XML space属性?修改模式不是一种选择。我需要自定义 JAXB 吗?

最佳答案

我最终生成了 XML 并使用正则表达式添加了属性 :(

关于java - 生成具有模式中不存在的属性的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100764/

相关文章:

java - 识别同一调用堆栈中的重复调用 - java

php - Google API 联系人 v.3,PHP : add a contact to the group

java - 为什么这个 Clojure 代码与 Java 中的替代代码相比如此慢?

java - android - 如何在 xml 文件中搜索

php - 将 XML 加载到 SQL 时组契约(Contract)名的 XML 字段

java - 如何告诉 JAXB 元素的顺序无关紧要?

java - 生成漂亮的 JAXB 类

jaxb - "XXX is an interface and jaxb can' t 处理接口(interface)“仅在liferay上下文中出现错误

java - TestNG 参数无法识别字符串参数

java - 用于在字符串中查找日期的正则表达式