期望生成文本
<?xml version="1.0" encoding="UTF-8"?><Request>
<Header>
<ReqTime>202406181458</ReqTime>
<RequestID>12345y</RequestID>
<Form>ylkh</Form>
<FunCode>rtyhjhgf</FunCode>
<HospitalNo>01</HospitalNo>
</Header>
<Body>
<AsSource>12345y</AsSource>
<Standbyparma1>rtyhjhgf</Standbyparma1>
<AsTerminalno>ylkh</AsTerminalno>
<DeptName>01</DeptName>
<Dbuser>01</Dbuser>
</Body>
</Request>
实现代码
/**
* 生成xml文本内容
* @param headerMap
* @param bodyMap
* @return
*/
public static String createXMLContent(Map<String,Object> headerMap,Map<String,Object> bodyMap) {
Document request = XmlUtil.createXml("Request");
request.setXmlStandalone(true);
if (CollectionUtil.isEmpty(headerMap) || CollectionUtil.isEmpty(bodyMap)) {
throw new ServiceException("参入的参数不能为空");
}
Document headerTemp = XmlUtil.mapToXml(headerMap,"Header");
Node headerNode = request.importNode(headerTemp.getDocumentElement(), true);
request.getDocumentElement().appendChild(headerNode);
Document bodyTemp = XmlUtil.mapToXml(bodyMap,"Body");
Node bodyNode = request.importNode(bodyTemp.getDocumentElement(), true);
request.getDocumentElement().appendChild(bodyNode);
return XmlUtil.format(request);
}
Document和Element区别
Document
是整个 XML 文档的根,它代表了一个完整的 XML 文档,它是 DOM(Document Object Model)树的顶层节点,包含整个 XML 文档的数据。通常通过解析 XML 文件或手动创建一个新的文档来获得Document
对象。Element
是 XML 文档中的一个元素节点。代表 XML 文档中的标签,可以包含属性、文本节点和子元素。通常由Document
对象的createElement
方法创建。