📄 transxml.java
字号:
package XML;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
public class TransXML {
@SuppressWarnings("unused")
private static void FileCopy(String f1, String f2) {
try {
FileInputStream fIn = new FileInputStream(f1);
FileOutputStream fOut = new FileOutputStream(f2);
int copy = 0;
while ((copy = fIn.read()) != -1) {
fOut.write(copy);
}
fIn.close();
fOut.close();
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
private static ByteArrayOutputStream XMLNodeToStream(Node root) {// 节点内容转化为比特流
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
DOMSource sourse = new DOMSource(root);
StreamResult result = new StreamResult(outputStream);
transformer.transform(sourse, result);
} catch (Exception ex) {
System.out.println(ex.toString());
}
return outputStream;
}
private static String XMLNodeToString(Node root) {// 节点内容转化为字符串
return String.valueOf(XMLNodeToStream(root));
}
public static String XMLDocToString(Document doc)// XML文档转为字符串
{
return XMLNodeToString(doc.getDocumentElement());
}
public static Document StringToXMLDoc(String input) {// 字符串转为XML文档
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
input.getBytes());
Document Doc = null;
try {
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Doc = docBuilder.parse(byteArrayInputStream);
} catch (Exception ex) {
System.out.println(ex.toString());
}
return Doc;
}
public static byte[] XMLDocToBytes(Document doc) {
return XMLDocToString(doc).getBytes();
}
public static Document BytesToXMLDoc(byte[] input) {
return StringToXMLDoc(new String(input));
}
@SuppressWarnings("unused")
private static ByteArrayOutputStream XMLDocToStream(Document doc) {// XML文档转为比特流
return XMLNodeToStream(doc.getDocumentElement());
}
@SuppressWarnings("unused")
private static Document StreamToXMLDoc(InputStream inputStream) {// 比特流转为XML文档
try {
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
return docBuilder.parse(inputStream);
} catch (Exception ex) {
System.out.println(ex.toString());
return null;
}
}
@SuppressWarnings("unused")
private static ByteArrayInputStream StreamOutToIn(
ByteArrayOutputStream outputStream) {
ByteArrayOutputStream bytesOutputStream = (ByteArrayOutputStream) outputStream;
byte[] buffer = new byte[bytesOutputStream.size()];
ByteArrayInputStream bytesInputStream = new ByteArrayInputStream(buffer);
return bytesInputStream;
}
@SuppressWarnings("unused")
private static OutputStream StreamInToOut(InputStream inputStream) {
ByteArrayInputStream bytesInputStream = (ByteArrayInputStream) inputStream;
int length = bytesInputStream.available();
byte[] buffer = new byte[length];
OutputStream bytesOutputStream = new ByteArrayOutputStream(length);
try {
bytesInputStream.read(buffer);
bytesOutputStream.write(buffer);
} catch (Exception ex) {
System.out.println(ex.toString());
}
return bytesOutputStream;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -