나는 다음과 같은 구조의 상당히 복잡한 XML 파일을 구문 분석하고 있습니다 :QXmlItem을 QtDomElement 또는 유사하게 변환합니까?
<root>
...
...
<item>
<subitem id="1"/>
<text>
text1
</text>
</item>
<item>
<subitem id="2"/>
<text>
text2
</text>
</item>
...
<item>
...
</item>
...
</root>
그것은 꽤 원유의를하지만 당신은 내가 희망을 내 드리프트를 얻을. 저는 주로 "항목"노드에 관심이 있습니다. 그래서 내가 (직접 Qt의 온라인 설명서에서) 다음 코드를 작성 :
QXmlQuery query;
query.setQuery("//item/");
QXmlResultItems result;
query.evaluateTo(&result);
QXmlItem item(result.next());
while (!item.isNull())
{
if (item.isNode())
{
// WHAT DO I DO NOW?
}
item = result.next();
}
지금, QXmlItem이 두 가지 개념 (문자열 등) 리터럴 값 또는 노드를 나타내는 표시 (어떤 항목이다. isNode()가 수행 중입니다.) 불행히도 QXmlItem을 다시 쿼리 할 수있는 것으로 변환하는 방법을 이해할 수 없습니다. 특히 위의 예제에서 "id"속성과 텍스트 요소를 얻고 싶습니다. XQuery 방식을 사용하여이 작업을 수행 할 수 있습니까?
어떤 조언이 필요합니까?
감사합니다.
가치가있는 시도, 나는 그것을 시도 할 것이다. – EightyEight
나는 '|' 결과 목록은 쿼리의 순서에 따라 정렬되는 것이 아니라 XML 파일의 순서에 따라 정렬되어야합니다. 쿼리를 결합하여 결과를 영구적 인 순서로 얻는 다른 방법이 있습니까? –