我将响应实体作为字符串,需要解析它以访问其数据。当我将字符串转换为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