我正在使用DOM解析器处理XML文件,我正在将一个xml文件中的整个数据复制到另一个xml文件中,并改变某些节点的值。
我的XML文件如下所示:
<ems:DeterminationRequest>
<ems:MessageInformation>
.........
</ems:MessageInformation>
<ems:case>
<ns17:CalHEERSCaseInfo> ... </ns17:CalHEERSCaseInfo>
<ns17:persons> ..... </ns17:persons>
</ems:case>
</ems:DeterminationRequest>
现在我想将子节点添加到&#39; ems:DeterminationRequest&#39;它有其他子节点。
我知道如何使用以下语法将子节点添加到父节点:
....
Document doc = db.parse(new FileInputStream(new File("in.xml")));
Element element = doc.getDocumentElement();
Node node = doc.createElement("ns17:CaseReferals");
element.appendChild(node);
.....
但我想添加以下节点语法:
<ns17:CaseReferrals >
<ns17:OtherProgramInformationRequest>
<ns17:CHDPInfoInd></ns17:CHDPInfoInd>
<ns17:WICInfoInd></ns17:WICInfoInd>
<ns17:FamilyPACTInfoInd></ns17:FamilyPACTInfoInd>
<ns17:SHOPInfoInd></ns17:SHOPInfoInd>
<ns17:EPSDTInfoInd></ns17:EPSDTInfoInd>
<ns17:VoterRegistrationInfoInd></ns17:VoterRegistrationInfoInd>
<ns17:PCSPInfoInd></ns17:PCSPInfoInd>
</ns17:OtherProgramInformationRequest>
</ns17:CaseReferrals>
那么我们可以通过哪种方式创建上述语法字符串并将ad作为子节点创建父节点吗?
答案 0 :(得分:1)
一次一个元素。
Document doc = db.parse(new FileInputStream(new File("in.xml")));
Element documentElement= doc.getDocumentElement();
Node ns17CaseReferals= doc.createElement("ns17:CaseReferals");
documentElement.appendChild(ns17CaseReferals);
Node ns17CHDPInfoInd = doc.createElement("ns17:CHDPInfoInd");
ns17CaseReferals.appendChild(ns17CHDPInfoInd);
等等(可能会重复添加具有给定名称的空子元素的重复操作机会)。
否则,只需将文本解析为XML文档即可获取DOM节点。