javax Transformer保留转义实体
在几次尝试失败后,我最终放弃了xslt的转换(如果您感兴趣,可以在这里查看我的问题:)。现在我正在研究javax转换器,试图解决这个问题 问题是,我想在xml和html中保留撇号的转义:javax Transformer保留转义实体,java,xslt,escaping,transform,transformation,Java,Xslt,Escaping,Transform,Transformation,在几次尝试失败后,我最终放弃了xslt的转换(如果您感兴趣,可以在这里查看我的问题:)。现在我正在研究javax转换器,试图解决这个问题 问题是,我想在xml和html中保留撇号的转义: < cell i='0' j='0' vi='0' parity='Odd' subType='-1'> "String'</cell> &34;字符串'; 输出是我不想要的: < td nowrap="true" class="
< cell i='0' j='0' vi='0' parity='Odd' subType='-1'> "String'</cell>
&34;字符串';
|
输出是我不想要的:
< td nowrap="true" class="gridCell" i="0" j="0">"String'< /td>
“String”
我希望结果如下:
< td nowrap="true" class="gridCell" i="0" j="0">"String'< /td>
&34;字符串&39;
我不知道我们是否可以使用方法转换来实现这一点,我看到了一个类似的问题,但他需要的是相反的东西:
非常感谢您的帮助,谢谢!XML定义了
和“这意味着相同的东西,所以大多数XML工具都会将这一区别视为不相关的。我认为您应该质疑这个要求-为什么要这样做?这有点像是试图保留周围的空间。”=“登录属性:这毫无意义。严格来说,,和#39代码>,和#x27
或&apos
在文本节点中,属性中的值稍有不同,因为值必须括在“
或”
之间;如果在“
中括起属性的值,则必须使用实体在值中指定撇号,XML序列化程序也会这样做
我对Java中的XML处理有点生疏,但我知道在C#中,您可以让您的转换生成一个XML文档对象,并创建一个从XmlWriter类继承的类,通过重写“WriteString”方法以任意方式序列化它。希望您可以在Java中做类似的事情,可能是通过实现Result
接口,或者可能传递一个您可以使用的DOMResult
。我不记得您通常如何在java中序列化文档,但它应该是您可以操作或重写的。谢谢,我使用了与您类似的方法,我更改了Writer以替换实体字符。正如您提供的那样一个答案,虽然不是用java,但或多或少解决问题的方法是一样的,我接受它。