如何使特定的标题元素出现在Java XML

时间:2016-09-16 19:08:57

标签: java xml

我有一个相当独特的问题。我有一个工作工具,允许用户创建一个xml文件。我不会详细介绍细节,只是说他们使用GUI和JTable来填充将放入XML文件的标签,这都是通过DOM Parsing完成的。生成的XML具有特定格式。每个标记必须位于正确的位置,并且XML必须与模式100%匹配,否则在以后的测试期间将失败。

我报告了一个奇怪的错误,由于XML的标题区域,使用此工具生成的文件与标准不匹配。 (不确定你称之为什么,我不认为它是命名空间)。无论如何,这是我的工具如何生成顶部标题:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caie.011.011.01>

显然预期的结果是:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:caie.011.011.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

我不确定将URL放在w3网站上的目的是什么,但显然在处理时需要它。以下是我的XML代码的一般结构:

try{

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document doc = docBuilder.newDocument();
        doc.setXmlStandalone(true);

        Element rootElement = doc.createElementNS("urn:iso:std:iso:20022:tech:xsd:caie.011.011.01", "Document");
        doc.appendChild(rootElement);

        Element BkToCstmrDbtCdtNtfctn = doc.createElement("BkToCstmrDbtCdtNtfctn");
        rootElement.appendChild(BkToCstmrDbtCdtNtfctn);

        Element GrpHdr = doc.createElement("GrpHdr");
        BkToCstmrDbtCdtNtfctn.appendChild(GrpHdr);

1 个答案:

答案 0 :(得分:1)

添加&#34; xmlns:xsi&#34;作为rootElement的属性,如

boolean borrowLocked