libxml2와 C++를 사용하여 두 xml 파일을 병합하려고합니다.
이 XML 파일은 스키마가 같지만 내용이 다르므로 일부 요소를 기본 XML 파일에 병합해야합니다. 그리고 이들 xml 파일은 들여 쓰기가 다릅니다.libxml2로 병합 된 xml 파일 들여 쓰기
xmlDocPtr doc1 = xmlParseFile(...);
xmlDocPtr doc2 = xmlParseFile(...);
xmlNodePtr node_from_doc1;
for (node; ...) {
...
xmlAddNextSibling(node_from_doc1, node);
...
}
xmlSaveFormatFile("merged.xml", doc1, 1);
그리고 병합 된 XML 파일이 잘 들여 쓰기되지 않습니다
가 여기 내 의사 코드 (하나는 공간이 있지만, 또 다른 탭이).
<root_elem attr1="attr">
...
<child>child_text</child>
<child_merged>child_merged</child_merged>
</root_elem>
'child'요소와 'child_merged'요소는 들여 쓰기가 동일해야합니다.
어떻게 병합 파일을 들여 쓰기 할 수 있습니까? 미리 감사드립니다.
나는'xmlKeepBlanksDefault (0)'을 호출했지만 작동하지 않는다 ... – Jeremy
@ 제레미 나는 알았다. 파싱하기 전에 * 호출했습니다. Se 업데이트 된 답변. –
Ooops, 구문 분석 후'xmlKeepBlacnksDefault (0)'을 호출했습니다. 이제 파싱하기 전에이 API를 호출하는 들여 쓰기 된 XML을 얻을 수 있습니다! – Jeremy