java - 将正确的 xml 转换为不正确的 xml

标签 java xml

我有一个要求,我需要使用 java 将给定的正确 xml 转换为不正确的格式。

我收到的 Xml 类似于

<?xml version="1.0" encoding="utf-8" ?>
<start>
   <level>5</level>
   <mode>passive</mode>
   <directory>home/lib/dir</directory>
   <reach_port>8888</reach_port>
   <languages default="en">en,ar,bn</languages>
   <Server_port>8800</Server_port>
   <reset_time>180</reset_time>
   <refresh_rate>10</refresh_rate>
</start>

我需要将其转换为以下格式

<?xml version="1.0" encoding="utf-8" ?>
<1start>                 -> XML Tag is starting with number 
   <level>5</level>
   <mode>passive</mode>
   <directory>home/lib/dir</directory>
   <reach_port="8888"/>  -> Syntax is not recognizable
   <languages default="en">en,ar,bn</languages>
   <Server_port="8800"/> -> Syntax is not recognizable
   <reset_time="180"/>   -> Syntax is not recognizable
   <refresh_rate="10"/>  -> Syntax is not recognizable
</1start>

我需要严格遵守这种格式,因为进一步的依赖关系需要这种格式的 xml。 我不知道如何继续,因为我想不出任何标准方法,关于最佳处理方法的任何建议。

最佳答案

布莱克!欢迎来到现实世界的软件工程:(。​​如果我正确理解了这个问题,你唯一的要求就是生成这个废话,而不是解析它。算上你的祝福吧!JB尼泽绝对正确,你不应该被迫这样做,但有时你别无选择。如果每次我不得不类似地补偿外部团体的无能,我都能得到一毛钱……

在架构方面,关键的事情(显然)是在系统的最边缘放置一个垃圾隔离层,即在系统范围内以合理的方式处理所有内容,并将此标签汤格式保留到最后阶段输出。从表面上看,您已经在这样做了。

像这样的 XSLT 模板可以工作:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" indent="yes"/>
    <xsl:output method="text"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="/start">
        <xsl:text>&lt;1start&gt;</xsl:text>
        <xsl:apply-templates/>
        <xsl:text>&lt;/1start&gt;</xsl:text>
    </xsl:template>

    <xsl:template match="/start/level">
        <xsl:text>&lt;level&gt;</xsl:text>
        <xsl:value-of select="text()"/>
        <xsl:text>&lt;/level&gt;</xsl:text>
    </xsl:template>

    <xsl:template match="/start/reach_port">
        <xsl:text>&lt;reach_port=&quot;</xsl:text>
        <xsl:value-of select="text()"/>
        <xsl:text>&quot;/&gt;</xsl:text>
    </xsl:template>

    <!-- process other elements in the same way -->

</xsl:stylesheet>

关于java - 将正确的 xml 转换为不正确的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578893/

相关文章:

JavaFX 如何设置 Pane 的位置/坐标?

java - 对字符串 ArrayList 使用选择排序

java - 无法使 bean 配置工作

python - 将 JSON 转换为 XML 时避免字符转义

javascript - 可以在没有浏览器的情况下使用 JQuery 或 JavaScript 来操作 XML/DOM 吗?

java - SWT 中的 RowLayout 在字体基线上垂直对齐

java - 将字符串映射到不同的日期格式

java - 通过凭证绑定(bind)插件读取存储在 Jenkins 上的临时属性文件

c - 在 Gtk 中出现错误。什么原因?

java - 是否可以将 @XmlHeader 与 Jackson 一起使用?