Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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 使用getParameter(“somename”)从ServletRequest检索到字符串。我怎样才能将它转换回原来的XML格式?_Java_Xml - Fatal编程技术网

Java 使用getParameter(“somename”)从ServletRequest检索到字符串。我怎样才能将它转换回原来的XML格式?

Java 使用getParameter(“somename”)从ServletRequest检索到字符串。我怎样才能将它转换回原来的XML格式?,java,xml,Java,Xml,我正在解析一个ServletRequest对象(实际上是一个HttpServletRequest) 这里有两个参数,其中一个我知道有一个值是XML文件 如何将XML检索为Doc或byte[]或类似格式,而不是字符串? 使用其getBytes()函数,您可以非常轻松地将String转换为byte[] 如果你想要一个文档,你必须解析它。为此,您可以从DocumentBuilderFactory获取DocumentBuilder,并让parse()aByteArrayOutputStream环绕该字节

我正在解析一个ServletRequest对象(实际上是一个HttpServletRequest) 这里有两个参数,其中一个我知道有一个值是XML文件

如何将XML检索为Doc或byte[]或类似格式,而不是字符串?

  • 使用其
    getBytes()
    函数,您可以非常轻松地将
    String
    转换为
    byte[]

  • 如果你想要一个文档,你必须解析它。为此,您可以从
    DocumentBuilderFactory
    获取
    DocumentBuilder
    ,并让
    parse()
    a
    ByteArrayOutputStream
    环绕该字节数组


如果您有一个包含XML的字符串,您可以通过从包装该字符串的StringReader进行解析,将其解析为文档。除非您能够处理潜在的编码问题,否则不要将字符串转换为字节


parse(新的InputSource(新的StringReader(字符串))

更重要的是,不要将字符串转换为字节,因此解析器必须将字节转换回字符流。这是两个不必要的转码步骤,可能与字符集不一致,并会微妙地损坏数据。谢谢,我将尽快尝试重构到您的解决方案中