gpt4 book ai didi

java - 使用java生成带有特定DTD声明的XML

转载 作者:太空宇宙 更新时间:2023-11-04 06:45:54 25 4
gpt4 key购买 nike

我需要生成一个包含特定 XML 声明和 DTD 声明的 XML 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//CompanyName//DTD CompanyName PaymentService v2//EN"
"http://dtd.CompanyName.com/paymentService_v2.dtd">

要生成的其余 XML 也具有特定的元素和关联值。

我想知道在我的 java 类中生成此 XML 的最佳方法是什么?使用字符串缓冲区还是 DOM?任何带有示例或示例代码的建议将不胜感激。

谢谢

最佳答案

我建议使用 Java DOM API。在 String 中处理 XML 或 XHTML众所周知,对象的解析非常耗时且容易出错,因此请尝试使用适当的解析器,例如 DOM只要您可以选择。

下面的代码应该使用 Java 添加文档类型和 xml 声明 DOM<?xml...DocumentBuilder 时应自动添加到顶部创建您的文档。

    // Create document
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
//Create doc type
DOMImplementation domImpl = doc.getImplementation();
DocumentType doctype = domImpl.createDocumentType("paymentService", "-//CompanyName//DTD CompanyName PaymentService v2//EN", "http://dtd.CompanyName.com/paymentService_v2.dtd");
doc.appendChild(doctype);
// Add root element
Element rootElement = doc.createElement("root");
doc.appendChild(rootElement);

上面创建的 XML 应该如下所示;

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE paymentService PUBLIC "-//CompanyName//DTD CompanyName PaymentService v2//EN" "http://dtd.CompanyName.com/paymentService_v2.dtd">
<root>
</root>

上面代码中使用的很多方法都可能引发大量和各种异常,因此请确保您的异常处理符合要求。我希望这会有所帮助。

关于java - 使用java生成带有特定DTD声明的XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23997855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com