如何解决Java JDOM2 XML 向现有子项添加元素
我正在尝试在现有 XML 文档中的某个位置插入一个新子项。为此,我首先解析了现有的 XML 文档,现在想对其进行编辑和保存。
在我使用的导入中
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom2.Element;
import org.jdom2.Document;
import org.jdom2.Namespace;
import org.jdom2.input.DOMBuilder;
import org.jdom2.output.DOMOutputter;
这就是我解析文件并将它们转换为 jdom2 格式的方式
DocumentBuilder builder = null;
org.jdom2.input.DOMBuilder jdomBuilder = new DOMBuilder();
Document tmpDoc = jdomBuilder.build( builder.parse(new FileInputStream(tmpFilePath)));
这是我尝试编辑和保存文件的方式
Document tmpDoc = archivedFiles.get(id);
Element eleWithTracking = (Element) new Element("TRACKING_ID").addContent(idAndTracking.get(id));
Element root = (Element) tmpDoc.getRootElement();
Element header = (Element) root.getChild("ORDER_HEADER",Namespace.getNamespace("http://www.opentrans.org/XMLSchema/2.1"));
header.addContent(eleWithTracking);
tmpDoc.setContent(root);
try {
//Create the XML
XMLOutputter outter=new XMLOutputter();
outter.setFormat(Format.getPrettyFormat());
outter.output(tmpDoc,new FileWriter(new File(id + "_withTracking.xml")));
} catch (IOException ex) {
Logger.getLogger(Reverse_nes.class.getName()).log(Level.SEVERE,null,ex);
}
但是,我在输出文件的任何位置都找不到我刚刚插入的子项 (eleWithTracking)。
此外,输出文件的格式与源文件的格式不同。我没有任何可以扩展的节点,只有纯文本。
不幸的是,我还不太了解 Java,也没有收到任何错误消息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。