碰到写xml文件的一个错误

w3c.dom写xml文件时候 如果对Element元素进行操作,而将该Element赋给另一个document元素时候,会报错:
org.w3c.dom.DOMException:WRONG_DOCUMENT_ERR:Anodeisusedinadifferentdocumentthantheonethatcreatedit.
由于Element元素不是同一个document元素生成的,所以会报错,此时 要把该Element赋给另一个xml文件时候,需要通过:

public static void sendAlarm(List<Element> elements) {
		
		if(elements != null && !elements.isEmpty()){
			ObjectOutputStream oos = null;
			try {
				DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
				DocumentBuilder	builder = dbf.newDocumentBuilder();
				Transformer transformer = TransformerFactory.newInstance().newTransformer();	
				oos = new ObjectOutputStream(new Socket(host,port).getoutputStream());
				transformer.setoutputProperty(OutputKeys.ENCODING,"UTF-8");	
				for (Element element : elements){
					Document doc = builder.newDocument();	
					<strong><span style="font-size:18px;color:#339999;">doc.appendChild(doc.importNode(element,true));</span></strong>
				
					
					//document 转 string
					ByteArrayOutputStream   bos   =   new   ByteArrayOutputStream();
					transformer.transform(new DOMSource(doc),new StreamResult(bos));
					String xmlStr = bos.toString();
					
					log.info(xmlStr);
					
					oos.writeObject(xmlStr);
					oos.flush();
				}
				
			} catch (Exception e) {
				e.printstacktrace();
			} finally {
				if(oos != null) {
					try {
						oos.close();
					} catch (IOException e) {
						e.printstacktrace();
					}
				}
			}
		}
	}
即可

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念