溫馨提示×

java無法輸出document對象怎么解決

小億
136
2023-11-22 00:35:42
欄目: 編程語言

在Java中無法直接輸出Document對象,因為Document對象表示一個XML文檔的根節點,它本身并不包含任何可輸出的內容。

如果你想將Document對象的內容輸出到控制臺或文件,可以使用Transformer類將Document對象轉換為字符串或文件。

下面是一個示例代碼,演示如何將Document對象轉換為字符串并輸出到控制臺:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class Main {
    public static void main(String[] args) {
        try {
            // 創建一個DocumentBuilder對象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();

            // 創建一個Document對象
            org.w3c.dom.Document document = builder.newDocument();

            // 創建根節點
            org.w3c.dom.Element rootElement = document.createElement("root");
            document.appendChild(rootElement);

            // 創建子節點
            org.w3c.dom.Element childElement = document.createElement("child");
            childElement.setTextContent("Hello, World!");
            rootElement.appendChild(childElement);

            // 創建Transformer對象
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // 設置輸出格式化

            // 將Document對象轉換為字符串
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult(System.out);
            transformer.transform(source, result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

運行以上代碼,將會輸出以下內容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
    <child>Hello, World!</child>
</root>

通過上述示例代碼,你可以看到Document對象的內容已經成功轉換為字符串并輸出到控制臺。如果你想將其輸出到文件,只需將StreamResult構造函數的參數改為指定的文件路徑即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女