gpt4 book ai didi

java - 如何使用 jdom 将 CDATA 应用于变压器参数

转载 作者:行者123 更新时间:2023-11-30 04:10:43 24 4
gpt4 key购买 nike

出于某种原因,我尝试包围参数 sExtraParameter , sExtraParameter2 , sExtraParameter3<![CDATA[ ]]>字符串以获得“ pretty-print ”的拉丁字符。但每次我检查 xml 输出时,它仍然显示错误的解析字符。

那么,是否有其他方法将 CDATA 应用于此参数?

public static Element xslTransformJDOM(File xmlFile, String xslStyleSheet, String sExtraParameter, String sExtraParameterValue, String sExtraParameter2, String sExtraParameterValue2, String sExtraParameter3,String sExtraParameterValue3 ) throws JDOMException, TransformerConfigurationException, FileNotFoundException, IOException{

try{

Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xslStyleSheet));
transformer.setParameter(sExtraParameter, sExtraParameterValue);
transformer.setParameter(sExtraParameter2, sExtraParameterValue2);
transformer.setParameter(sExtraParameter3, sExtraParameterValue3);

JDOMResult out = new JDOMResult();

transformer.transform(new StreamSource(xmlFile), out);

Element result = out.getDocument().detachRootElement();

setSize(new XMLOutputter().outputString(result).length());

return result;

}
catch (TransformerException e){
throw new JDOMException("XSLT Transformation failed", e);
}
}

编辑:

我正在跟进我老板的一个项目,因此我没有完整的代码可以在这里向您展示。

最佳答案

也许我错过了这个问题,但是 setParameter 的 API ( http://docs.oracle.com/javaee/1.4/api/javax/xml/transform/Transformer.html#setParameter(java.lang.String, java.lang.Object) ) 并不期望

value - The value object. This can be any valid Java object. It is up to the processor to provide the proper object coersion or to simply pass the object on for use in an extension.

  1. 假设您使用的是 JDOM,这可能会因实现而异。
  2. 可能存在一个可以正确处理的 CDATA xml 元素。也许:http://www.jdom.org/docs/apidocs/org/jdom2/CDATA.html
  3. 您仍然可以考虑将序列化器设置设置为某种空白保留。 http://www.jdom.org/docs/apidocs.1.1/org/jdom/output/Format.TextMode.html

关于java - 如何使用 jdom 将 CDATA 应用于变压器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com