我正在尝试创建一个简单的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,而将其追加到。
09-25 20:42