gpt4 book ai didi

java - 如何在Java中创建一个Document对象?

转载 作者:行者123 更新时间:2023-12-02 00:36:37 25 4
gpt4 key购买 nike

我想用 jdom 创建一个 Document 对象。我已经编写了一个函数,但是在调试后我可以看到它没有创建。由于我是 XML 新手,我不明白为什么我无法创建。你能帮我吗?

public Document createSNMPMessage (){

Element root = new Element("message");
Document document = new Document(root);

Element header = new Element("header");

Element messageType = new Element("messageType").setText("snmp");
Element sendFrom = new Element("sendFrom").setText("192.168.0.16");
Element hostName = new Element("hostName").setText("oghmasysMehmet");
Element sendTo = new Element("sendTo").setText("192.168.0.12");
Element receiverName = new Element("receiverName").setText("Mehmet");
Element date = new Element("date").setText("03/10/2011");

header.addContent(messageType);
header.addContent(sendFrom);
header.addContent(hostName);
header.addContent(sendTo);
header.addContent(receiverName);
header.addContent(date);

Element body = new Element("body");

Element snmpType = new Element("snmpType").setText("getbulk");
Element ip = new Element("ip").setText("127.0.0.1");
Element port = new Element("port").setText("161");
Element oids = new Element("oids");
Element oid = new Element("oid").setText("1.3.6.1.2.1.1.3.0");
oids.addContent(oid);
Element community = new Element("community").setText("community");
Element nR = new Element("nR").setText("0");
Element mR = new Element("mR").setText("5");

body.addContent(snmpType);
body.addContent(ip);
body.addContent(port);
body.addContent(oids);
body.addContent(community);
body.addContent(nR);
body.addContent(mR);

return document;

}

当我创建它时,我使用该函数将其转换为字符串;

    public String xmlToString(Document doc) {
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
return outputter.outputString(doc);
}

当我尝试转换为字符串以查看文档内部的内容时,我得到;

<?xml version="1.0" encoding="UTF-8"?>
<message />

最佳答案

据我所知,您正在创建一个 Document 对象,并将节点添加到 headerbody 节点,但这些节点没有添加到您的 Document 中对象实例文档

我相信您希望将这些节点添加到 root 元素中,该元素已添加到您的文档中。

因此,您可以将其添加到文档的根目录中,如下所示:

public Document createSNMPMessage (){

Element root = new Element("message");
Document document = new Document(root);

Element header = new Element("header");

...
...

Element body = new Element("body");

...
...

root.addContent(header); // NOTE THESE NEW LINES
root.addContent(body); // NOTE THESE NEW LINES

return document;

}

关于java - 如何在Java中创建一个Document对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636374/

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