기존 XML에 부모 노드를 삽입해야합니다. 부모 노드에 자식 노드를 추가하는 방법에 대한 예제를 발견했지만 xml에 새 루트 노드를 추가하는 방법은 없습니다. 내 소스 XML은Groovy를 사용하여 XML에 상위 노드 추가
<?xml version="1.0" encoding="UTF-8" ?>
<Cars>
<Car>
<Make>Hyundai</Make>
<Model>Accent</Model>
<Year>2016</Year>
</Car>
<Car>
<Make>Mitsubishi</Make>
<Model>Mirage</Model>
<Year>2016</Year>
</Car>
<Car>
<Make>Ford</Make>
<Model>Fiesta</Model>
<Year>2017</Year>
</Car>
</Cars>
이고 나의 새로운 XML이 같아야합니다 : 나는 groovy.I 새로운 오전
<?xml version="1.0" encoding="UTF-8" ?>
<List_Wrappers>
<Cars>
<Car>
<Make>Hyundai</Make>
<Model>Accent</Model>
<Year>2016</Year>
</Car>
<Car>
<Make>Mitsubishi</Make>
<Model>Mirage</Model>
<Year>2016</Year>
</Car>
<Car>
<Make>Ford</Make>
<Model>Fiesta</Model>
<Year>2017</Year>
</Car>
</Cars>
</List_Wrappers>
같은 것을 할 의미 : 그러나
class Test {
static stringXML = "C:/Users/xyz/original.xml"
static main(args) {
def baseXML = new XmlSlurper().parse(new File(stringXML))
baseXML.cars.parent.appendNode('List_Wrapper')
def writer = new FileWriter("C:/Users/xyz/updated.xml")
groovy.xml.XmlUtil.serialize(baseXML,writer)
}
}
을, 태그가 추가되지는 않지만 수정 된 XML은 다음과 같이 나타납니다.
<?xml version="1.0" encoding="UTF-8" ?>
<tag0:Cars>
<tag0:Car>
<tag0:Make>Hyundai</tag0:Make>
<tag0:Model>Accent</tag0:Model>
<tag0:Year>2016</tag0:Year>
</tag0:Car>
<tag0:Car>
<tag0:Make>Mitsubishi</tag0:Make>
<tag0:Model>Mirage</tag0:Model>
<tag0:Year>2016</tag0:Year>
</tag0:Car>
<tag0:Car>
<tag0:Make>Ford</tag0:Make>
<tag0:Model>Fiesta</tag0:Model>
<tag0:Year>2017</tag0:Year>
</tag0:Car>
</tag0:Cars>
알아내는 데 도움이 필요합니다.
고마워요. List_Wrapper 노드가 성공적으로 추가되었습니다. 하지만 XML에서 루트 노드를 추가하는 것 외에는 다른 것을 변경하고 싶지 않습니다. 그러나 현재 접두사 'tag0'이 내 XML에 추가되고 전체 XML을 수정하고 있습니다. 어떻게 피할 수 있습니까? –
@SayantaniRoyChaudhuri'tag0' 문제를 피하기 위해 xml을 파싱하려면'XmlParser()'를 사용하십시오. –
@SayantaniRoyChaudhuri이 대답이 당신의 문제를 해결했다는 것을 알게되면 대답으로 받아 들여 져야하고 upvote 자격이 있어야합니다. https://stackoverflow.com/help/someone-answers –