gpt4 book ai didi

java - 获取 org.w3c.dom.DOMException : HIERARCHY_REQUEST_ERR adding root node to document

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

我正在尝试创建一个简单的 XML 文档,但在将根元素添加到文档时收到上述错误。我只有一个根元素(为文档创建的第一个元素),并且在第一次append_child() 调用时抛出错误。以下是引发错误的代码(在 securityDoc.appendChild(securityDoc) 调用上):

 public Document CreateSecurityHeader() throws ParserConfigurationException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document securityDoc = builder.newDocument();

try {
Element securityRoot = securityDoc.createElementNS("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "wsse:Security");
securityRoot.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");
securityRoot.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:wsu", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
securityRoot.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:env", "http://www.w3.org/2003/05/soap-envelope");
securityRoot.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:wss","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd");
securityRoot.setAttribute("env:mustUnderstand", "1");
securityDoc.appendChild(securityDoc);

由于这是该文档中唯一的元素,我如何收到此错误?我确实必须引入 xalan 和 xerces 库作为该项目的依赖项来进行其他操作,这里可能存在不兼容性吗?

最佳答案

哎呀。您将 securityDoc 附加到 securityDoc

securityDoc.appendChild(securityDoc);

我确定您的意思是:

securityDoc.appendChild(securityRoot);

我自己只是通过逐步执行验证代码才注意到这一点,当它使用节点查找表检查建议的树结构是否合法时,我看到您附加的是DOCUMENT_NODE,附加到DOCUMENT_NODE是不合法的。

关于java - 获取 org.w3c.dom.DOMException : HIERARCHY_REQUEST_ERR adding root node to document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55107378/

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