java怎么生成一个xml报文

39次阅读
没有评论

共计 2648 个字符,预计需要花费 7 分钟才能阅读完成。

要生成一个 XML 报文,您可以使用 Java 中的 DOM(文档对象模型)或者 JAXB(Java Architecture for XML Binding)来处理。

使用 DOM 生成 XML 报文的步骤如下:

  1. 创建一个 DocumentBuilder 对象,用于构建文档对象。
  2. 使用 DocumentBuilder 对象的 newDocument 方法创建一个 Document 对象。
  3. 创建 XML 元素和属性,可以使用 Document 对象的 createElement 和 createAttribute 方法。
  4. 将元素和属性添加到文档中,可以使用 Document 对象的 appendChild 和 setAttributeNode 方法。
  5. 将文档保存为 XML 文件,可以使用 Transformer 类将 Document 对象转换为 XML 格式。

以下是一个使用 DOM 生成 XML 报文的示例代码:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
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.Element;

public class GenerateXML {public static void main(String[] args) {try {// 创建 DocumentBuilder 对象 
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();

            // 创建 Document 对象 
            Document document = builder.newDocument();

            // 创建根元素 
            Element rootElement = document.createElement("root");
            document.appendChild(rootElement);

            // 创建子元素 
            Element childElement = document.createElement("child");
            childElement.setTextContent("Hello, World!");
            rootElement.appendChild(childElement);

            // 将文档保存为 XML 文件 
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult("output.xml");
            transformer.transform(source, result);

            System.out.println("XML 文件生成成功!");
        } catch (ParserConfigurationException | TransformerException e) {e.printStackTrace();
        }
    }
}

另一种生成 XML 报文的方法是使用 JAXB,它可以将 Java 对象直接映射为 XML 元素。您需要首先定义一个 Java 类来表示 XML 报文的结构,然后使用 JAXB API 将该类转换为 XML。

以下是一个使用 JAXB 生成 XML 报文的示例代码:

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.FileOutputStream;

public class GenerateXML {public static void main(String[] args) {try {// 创建 JAXBContext 对象 
            JAXBContext context = JAXBContext.newInstance(Root.class);

            // 创建 Marshaller 对象 
            Marshaller marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

            // 创建 Root 对象 
            Root root = new Root();
            root.setChild("Hello, World!");

            // 将 Root 对象转换为 XML
            marshaller.marshal(root, new FileOutputStream("output.xml"));

            System.out.println("XML 文件生成成功!");
        } catch (JAXBException e) {e.printStackTrace();
        }
    }
}

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
class Root {private String child;

    @XmlElement
    public String getChild() {return child;
    }

    public void setChild(String child) {this.child = child;
    }
}

这些示例代码中的 "output.xml" 是生成的 XML 文件的路径和名称,您可以根据需要修改。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-09发表,共计2648字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)