首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax Transformer保留转义实体

javax Transformer保留转义实体
EN

Stack Overflow用户
提问于 2011-05-26 16:31:15
回答 2查看 655关注 0票数 0

在几次尝试失败之后,我终于放弃了对xslt的转换(如果您感兴趣,可以在这里查看我的问题:don't want xslt intepret the entity characters)。现在我正在开发javax Transformer,试图解决这个问题。

问题是我想在xml和html中保留撇号‘的转义:

代码语言:javascript
复制
< cell i='0' j='0' vi='0' parity='Odd' subType='-1'> &#34;String&#39;</cell> 

输出是我不想要的:

代码语言:javascript
复制
    < td nowrap="true" class="gridCell" i="0" j="0">"String'< /td>

我希望结果如下:

代码语言:javascript
复制
    < td nowrap="true" class="gridCell" i="0" j="0">&#34;String&#39;< /td>

我不知道我们是否可以使用方法transform来做这件事,我看到了一个类似的问题,但他需要相反的东西:How Do You Prevent A javax Transformer From Escaping Whitespace?

感谢您的帮助,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-26 22:29:47

严格地说,对于XML解析器来说,文本节点中的'&#39;&#x27&apos;没有区别,属性中的解析器略有不同,因为值必须包含在"'之间;如果在'中包含了属性值,则必须使用实体在值中指定撇号,XML序列化程序也会执行同样的操作。

我对Java中的XML处理有点生疏,但我知道在C#中,您可以让您的转换生成一个XML document对象,并创建一个继承自XmlWriter类的类来序列化它,方法是覆盖“WriteString”方法。希望您可以在Java语言中做类似的事情,可能是通过实现Result接口,或者传入一个您可以使用的DOMResult。我不记得在java中通常是如何序列化Document的,但它应该是你可以操作或覆盖的东西。

票数 1
EN

Stack Overflow用户

发布于 2011-05-26 19:11:31

XML定义了&apos;和‘来表示相同的东西,所以大多数XML工具都会认为这两者之间的区别无关紧要。我认为你应该质疑这个要求--你为什么要这样做?这有点像在属性中保留"=“符号周围的空格:这是没有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6135720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档