我有以下 XML 结构:
<S i="0" id="S1"> <W C="JJ" id="W1" o1="0" o2="8">Dominant</W> <W C="NN" id="W2" o1="9" o2="21">contribution</W> <W C="IN" id="W3" o1="22" o2="24">of</W> <Term allvalues="PA123:GNX" type="GNX" values="PA123"> <W C="NN" id="W4" o1="25" o2="29">P450</W> </Term> <W C="NN" id="W5" o1="30" o2="33">3A4</W> <W C="TO" id="W6" o1="34" o2="36">to</W> <W C="DT" id="W7" o1="37" o2="40">the</W> <W C="JJ" id="W8" o1="41" o2="48">hepatic</W> <W C="NN" id="W9" o1="49" o2="61">carcinogenic</W> <W C="NN" id="W10" o1="62" o2="72">activation</W> <W C="IN" id="W11" o1="73" o2="75">of</W> <Term allvalues="PA452609:DRUG" type="DRUG" values="PA452609"> <W C="NN" id="W12" o1="76" o2="85">aflatoxin</W> <W C="NN" id="W13" o1="86" o2="88">B1</W> </Term> <W C="." id="W14" o1="88" o2="89">.</W> </S>
我的任务是删除 Term 标签但保留 W 标签。我克隆了 Ws 但将它们添加到 SI 时不知道如何猜测正确的位置。
private void deleteInsideTerms(Element element){
List allChildren = element.getChildren();
for(int i = 0; i<allChildren.size(); i++){
Element child = (Element) allChildren.get(i);
if(child.getName().equalsIgnoreCase("term")){
List<Element> listW = child.getChildren("W");
for(int in = 0; in<listW.size(); in++){
Element clone = (Element) listW.get(in).clone();
child.getParentElement().addContent(**???**, clone);
}
else
deleteInsideTerms(child);
}
}
有谁知道我必须插入什么作为索引?谢谢。