Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java字符串转换为包含有效utf-8字符的xml_Java_Xml_Utf 8 - Fatal编程技术网

将java字符串转换为包含有效utf-8字符的xml

将java字符串转换为包含有效utf-8字符的xml,java,xml,utf-8,Java,Xml,Utf 8,这就是我所做的- 从mongodb获取文档JSON 将此键值写入XML 将此XML发送到ApacheSolr进行索引 下面是我如何执行步骤2 给定键,表示键1和值为值1,步骤2输出为 "<"+ key1 + ">" + value1 + "</"+ key1 + ">" 如果这项工作还是我应该这样做—— key1New = new String(key1.getBytes("UTF-8"), "ISO-8859-1"); value1New = new String(v

这就是我所做的-

从mongodb获取文档JSON 将此键值写入XML 将此XML发送到ApacheSolr进行索引 下面是我如何执行步骤2

给定键,表示键1和值为值1,步骤2输出为

"<"+ key1 + ">" + value1 + "</"+ key1 + ">"
如果这项工作还是我应该这样做——

key1New = new String(key1.getBytes("UTF-8"), "ISO-8859-1");
value1New = new String(value1.getBytes("UTF-8"), "ISO-8859-1");

Java字符串对象没有编码。在这种情况下,当与字节[]关联时,编码是有意义的。试着这样做:

byte[] utf8xmlBytes = originalxmlString.getBytes("UTF8");
然后发送这些字节


编辑:也可以考虑乔恩·斯基特的评论。使用API创建XML通常是一个好主意,除非您有非常少量的XML。

尝试使用新的Stringbytes、Charset。forNameUTF-8不要自己创建XML—使用XML API。如果您已经将数据作为文本,只需将其作为文本保存即可。不要在不需要的时候开始乱搞二进制形式。
byte[] utf8xmlBytes = originalxmlString.getBytes("UTF8");