【问题标题】:How to avoid the trimming of these trailing whitespaces?如何避免修剪这些尾随空格?
【发布时间】:2017-01-07 13:57:56
【问题描述】:

我有一个要求,我需要在 xml 标记的末尾发送一些尾随空格(制表符),如下所示:-

<ImportFile Name="32201">Type   Action  </ImportFile>

我正在使用 xmlbeans 来设置标签中的值:-

ImportFile importFile = importOption.addNewImportFile();
importFile.setName("Id");
importFile.setStringValue(value);

但是通过使用所有尾随空格会被删除并导致以下结构:-

<ImportFile Name="32201">Type   Action</ImportFile>

附:我没有使用漂亮的打印 XMLoption

【问题讨论】:

    标签: java xmlbeans


    【解决方案1】:

    事实证明,它仅导致以下结构:- 输入动作 实际上,要在文档中打印结果元素,我使用的是 importFile.toString()。我没有将它打印为 importFile.xmlText(),而是找到了实际结果。

    【讨论】:

      【解决方案2】:

      尝试将您的文本放入 CDATA 块中:

      <ImportFile Name="32201"><![CDATA[Type   Action  ]]></ImportFile>
      

      据我所知,没有正确的方法可以在 XML 中保留空格
      根据Annotated XML Specification,属性值中的空格由 XML 处理器规范化。

      本主题对于理解 XML 中的空格解析也很有用 - What You Need to Know About Whitespace in XML

      【讨论】:

      • 谢谢丹尼斯。是的,我也想过使用 CDATA,但我需要遵守客户给出的指导方针。 :(
      • 您可以使用正则表达式解析该 xml,并使用 CDATA 包装此类块。或者您可以像这里一样编写自己的 xml 解析器 - stackoverflow.com/a/869050/1916536。但是,如果客户不遵循标准,您可能注定要永远做这样的变通办法。所以我不会默默地做肮脏的黑客行为,而是会与客户进行讨论,至少让他知道他的指导方针中的不一致之处。
      猜你喜欢
      • 1970-01-01
      • 2014-05-07
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      相关资源
      最近更新 更多