gpt4 book ai didi

java - 如何在 XML XSLT 转换期间处理 (R) 符号

转载 作者:行者123 更新时间:2023-12-01 13:30:43 25 4
gpt4 key购买 nike

我有一个 UTF-8 XML(作为字符串传递),其中包含以下行:

<LongName>SomeName®</LongName> .

并且在 XSLT 转换之后应该将其转换为另一个 UTF-8 XML。问题仅在于 ® 符号,它被转换为两个符号: ®

代码如下:

public String transform (String inputXML) throws TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
OutputStream os = new ByteArrayOutputStream();
InputStream transformationFile = getClass().getResourceAsStream(TRANSFORMER_PATH);
Transformer transformer = factory.newTransformer(new StreamSource(transformationFile));
InputStream is = new ByteArrayInputStream(inputXML.getBytes(Charset.forName("UTF-8")));
Source input = new StreamSource(is);

transformer.transform(input, new StreamResult(os));
return os.toString();
}

所以问题是 - 如何正确地将 ® 转换为 ® 从 UTF-8 到 UTF-8 XML?

最佳答案

你的错误是最后一行:

return os.toString();

由于os是一个ByteArrayOutputStream,它必须将字节数组转换为String,并且它将使用当前平台默认编码而不是UTF-8。您可以使用return os.toString("UTF-8"); .

关于java - 如何在 XML XSLT 转换期间处理 (R) 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583749/

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