Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中创建文档对象?_Java_Xml_Jdom - Fatal编程技术网

如何在Java中创建文档对象?

如何在Java中创建文档对象?,java,xml,jdom,Java,Xml,Jdom,我想用jdom创建一个文档对象。我已经编写了一个函数,但调试后,我可以看到它没有被创建。由于我是XML新手,我不明白为什么我不能创建XML。你能帮我吗 public Document createSNMPMessage (){ Element root = new Element("message"); Document document = new Document(root); Element header = new Element("header");

我想用jdom创建一个文档对象。我已经编写了一个函数,但调试后,我可以看到它没有被创建。由于我是XML新手,我不明白为什么我不能创建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 />

在我看来,您正在创建一个文档对象,并将节点添加到
标题
正文
节点,但这些节点没有添加到文档对象实例
文档

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

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

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;

}

从我看到的情况来看,您正在创建一个文档对象,并将节点添加到
标题
正文
节点,但这些节点没有添加到文档对象实例
文档

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

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

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;

}

尝试创建
文档时会发生什么情况?“无法创建”是什么意思?是否有例外?如果是这样的话,你能提供一个堆栈跟踪吗?你说它没有被“创建”是什么意思?这个方法不返回对象吗?我已经编辑了我的问题。谢谢。下面是我的答案。你会得到解决的!尝试创建
文档时会发生什么情况?“无法创建”是什么意思?是否有例外?如果是这样的话,你能提供一个堆栈跟踪吗?你说它没有被“创建”是什么意思?这个方法不返回对象吗?我已经编辑了我的问题。谢谢。下面是我的答案。你会得到解决的!