我已經將SOAP XML文件存儲到本地計算機中以驗證XML,我需要加載該文件並從SOAP體中提取XML以驗證它。Apache Common FileUtils將XML文件讀入字符串
SOAP XML
<SOAP:Envelope>
<SOAP:Body>
<request>
<Login>
<Username>abc</Username>
<Password>abc</Password>
</Login>
</request>
</SOAP:Body>
</SOAP:Envelope>
我需要從上面的SOAP請求提取<登錄> XML。 我正在使用FileUtils將文件讀入字符串。當我使用它讀取文件時,它也讀取像\ n \ t \ t等字符表示它考慮XML格式文件中的換行符和製表符。
我使用下面的代碼從XML抽取子節點作爲字符串。
InputStream requestXMLInputStream = new ByteArrayInputStream(soapRequestXML.getBytes());
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
String requestXMLBody = "";
Document doc = null;
try {
dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.parse(requestXMLInputStream);
NodeList requestNodeList = doc.getElementsByTagName(parentTagName);
Node node = requestNodeList.item(0);
DOMImplementationLS domImplLS = (DOMImplementationLS) doc.getImplementation();
LSSerializer serializer = domImplLS.createLSSerializer();
if(node != null && node.getFirstChild() != null)
requestXMLBody = serializer.writeToString(node.getFirstChild());
} catch (SAXException e) {
logger.error(e.getMessage());
} catch (IOException e) {
logger.error(e.getMessage());
}catch (ParserConfigurationException e) {
logger.error(e.getMessage());
}
return requestXMLBody;
如何在沒有這些字符的情況下讀取XML文件。
請幫忙。