2017-10-09 3 views
1

항목 목록이 있습니다. 나는 그 항목을 찾으면 기존 파일을 분석하고 필요한 필드를 업데이트하지만 파일에서 해당 항목을 찾지 못하면 파일 끝에 추가하려고합니다 (항목 xml 목록). 다음 코드에서는 루프의 마지막 항목을 찾아서 새로 작성해야합니다.xml 노드를 VTD-XML과 함께 몇 번 추가하는 방법은 무엇입니까?

String newNode = createNewItem(listItem); //get xml string 
ap.selectXPath("//item[last()]"); 
index = ap.evalXPath(); 
if (index != -1) { 
    xm.insertAfterElement(newNode); 
} 

루프 후 나는 변경 저장 :

xm.output(updatedFile); 

을하지만 결과에 나는 하나의 항목 만이 파일에 추가 된 것을 볼 수 있습니다. 다른 사람은 놓쳤다. 모든 항목을 추가하는 방법?

답변

0

이것은 VTD-XML을 처음 사용하는 사람들에게 공통적 인 문제입니다. 귀하의 애플 리케이션 로직은 일치하는 과정을 처리해야합니다 .. 그리고 나서 한 단계에서 XML 파일의 끝 부분에 삽입 할 조각을 작성하십시오.

목록에 a, b 및 c의 세 항목이 있다고 가정합니다. 귀하의 응용 프로그램 로직은 xml 문서를 쿼리하여 a 및 c가 xml 문서의 끝 뒤에 삽입되어야하는지 확인해야합니다. 귀하의 응용 프로그램은 XML 파편의 연결을 생성해야합니다 ... 그리고 마지막으로, 귀하의 애플 리케이션은 XML 문서의 마지막 항목 뒤에 그 표현을 삽입합니다.

질문 있으십니까?

+0

고마워요! 여러 번 삽입 할 가능성이 있습니까? – inest

+0

다중 삽입은 문서 내의 여러 위치를 대상으로합니다. 단일 위치의 경우 단일 삽입이 가장 효율적입니다. –