将String(XML格式)转换为XML Document会将节点值设置为null

时间:2019-05-03 16:43:14

标签: java dom httpresponse xmldocument nodelist

我将响应实体作为字符串,需要解析它以访问其数据。当我将字符串转换为XML文档时,所有节点值都设置为null,但是节点名称保持不变。

我正在使用DocumentBuilderFactory来转换字符串。

有人对为什么在这里丢失价值有任何想法吗?

我已经包含了我的ResponseEntity和NodeList的代码,因为它们是在转换之前和之后运行的,但是我不相信它们中的任何一个都有问题。

转换字符串

 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 DocumentBuilder builder = null;
 try
 {
     builder = factory.newDocumentBuilder();
     Document doc = builder.parse(new InputSource(new 
                    StringReader(xmlString)));
     return doc;
 }

响应实体

ResponseEntity<String> responseEntity = restTemplate.exchange(uri_status, 
                             HttpMethod.GET, statusEntity, String.class);

String body = responseEntity.getBody();

Document doc = convertStringToXMLDocument(body);

NodeList

NodeList children = doc.getFirstChild().getChildNodes();

打印字符串的正文将返回

<response><nodeName1>0.010649</nodeName1><nodeName2>0.002769</nodeName2>

我像这样打印文档的值

for (int i = 0;  i < children.getLength(); i++) {
    System.out.println(children.item(i).getNodeName() + " : " + 
    children.item(i).getNodeValue());
}

返回哪个

nodeName1 : null
nodeName2 : null

0 个答案:

没有答案