2009-07-24 5 views
1

나는 내 프로그램을 실행에서 "문서의 끝 부분에 추가 내용"을 얻을 수 있도록 루트/둘러싸는 노드가없는 다음C++ 용 libxml : XML 트리에 루트 노드를 추가하는 방법은 무엇입니까?

<siteinfo> 
... 
</siteinfo> 
<page> 
    <title>...</title> 
    <revision> 
    ... 
    <revision> 
</page> 

처럼 보이는 XML 파일이 있습니다. libxml을 사용하여 파싱하기 위해 파일을 연 후에 파스 트리에이 루트/엔 클로징 노드를 쉽게 추가 할 수있는 방법이 있습니까? 그럼 당신은 쉽게 문자열을 구문 분석 할 수

string xml = string("<root>") + file_contents + string("</root>"); 

: 원본 XML의 구조를 변경할 수없는 경우

+0

XML 작성기를 변경할 수 있습니까? XML을 준수하는 것이 더 낫다고 생각합니다. –

답변

3

는 쉬운 방법은 같은 문자열을 생성하는 것입니다. 그건 그렇고, C++을 사용하고 있기 때문에 libxml ++를 사용해보아야합니다. 그것은 libxml에 대한 C + + 래퍼이며 아주 좋습니다.

+0

감사합니다. 그래서 파일보다는 문자열을 파싱하는 것이 가능합니까? 그렇다면 대답은 정확히 내가 원하는 것입니다 :-) –

+0

libxml ++에서 가능합니다. 따라서 기본 라이브러리 인 libxml에서 가능해야합니다. – Sahas

+0

감사! 나는 libxml ++을 사용하고 있다고 생각했다. 명백하게. 너무 많은 패키지를 설치해야 했어, 나는 길을 잃었다. libxml ++가 훨씬 쉽게 될 때까지 libxml2를 사용합니다. ;-). 다시 한번 감사드립니다. –

관련 문제