如何使用JavaStax在结束标记之前创建新标记?
我有两个如何使用JavaStax在结束标记之前创建新标记?,java,xml,stax,Java,Xml,Stax,我有两个xml。我从第二个xml读取数据,并保存到第一个xml。我在LinkedHashMap中保存第二个xml的日期 while (xmlEventReader.hasNext()){ XMLEvent xmlEvent = xmlEventReader.nextEvent(); xmlEventWriter.add(xmlEvent); if (xmlEvent.isStartElement(
xml
。我从第二个xml
读取数据,并保存到第一个xml
。我在LinkedHashMap
中保存第二个xml
的日期
while (xmlEventReader.hasNext()){
XMLEvent xmlEvent = xmlEventReader.nextEvent();
xmlEventWriter.add(xmlEvent);
if (xmlEvent.isStartElement()){
StartElement startElement = xmlEvent.asStartElement();
xmlPath.addLast(startElement.getName().getLocalPart());
currentPath = join(xmlPath);
XMLEvent xmlModEvent;
switch (currentPath){
case "/scbm-extract/machineList/machine/resourceCode":
resourceCodeForMachine = xmlEventReader.peek().asCharacters().getData();
break;
case "/scbm-extract/machineList/machine":
if (attributeIdealSequences.containsKey(resourceCodeForMachine))
createTextElement("applyIdealSequence", "yes", xmlEventWriter, xmlEventFactory);
break;
我在第一个xml
中有机器列表。这台机器具有id为LinkedHashMap
中键的标记。仅当此机器id存在于LinkedHashMap
中时,我想在end
标记之前添加新标记
while (xmlEventReader.hasNext()){
XMLEvent xmlEvent = xmlEventReader.nextEvent();
xmlEventWriter.add(xmlEvent);
if (xmlEvent.isStartElement()){
StartElement startElement = xmlEvent.asStartElement();
xmlPath.addLast(startElement.getName().getLocalPart());
currentPath = join(xmlPath);
XMLEvent xmlModEvent;
switch (currentPath){
case "/scbm-extract/machineList/machine/resourceCode":
resourceCodeForMachine = xmlEventReader.peek().asCharacters().getData();
break;
case "/scbm-extract/machineList/machine":
if (attributeIdealSequences.containsKey(resourceCodeForMachine))
createTextElement("applyIdealSequence", "yes", xmlEventWriter, xmlEventFactory);
break;
我的代码创建了新标记,但此标记位于错误的位置和错误的机器(下一个标记,下一个机器)此标记位于打开后
我希望此标记位于结束标记之前
。我想在
之后添加新标记。
resourceCode
是LinkedHashMap