0

次のような XML ファイルのデータがあるとします。

<Parent-1>
      <Child-1>Info-1</Child-1>
      <Child-2>Info-2</Child-2>
      <Child-3>Info-3</Child-3>
</Parent-1>
<Parent-2>
      <Child-1>Info-1</Child-1>
      <Child-2>Info-2</Child-2>
      <Child-3>Info-3</Child-3>
</Parent-2>
<Parent-3>
      <Child-1>Info-1</Child-1>
      <Child-2>Info-2</Child-2>
      <Child-3>Info-3</Child-3>
</Parent-3>

ファイルを最初から読み取るときは、最初に開始要素Parent-1を読み取り、次にその最初の子Child-1とそのテキストInfo-1を読み取ります。

Parent-1/Child-1Info-1がSKIPなどの特定の値と等しい場合、Parent-1要素全体をスキップして、次の親要素Parent-2を読み取ります。

私の知る限り、QXMLStreamReaderは次の開始要素 (私の場合はParent-1Child-2 ) まで読み取るskipCurrentElement()readNextStartElement( )のみを提供します。

親要素全体をスキップする方法はありますか? どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

0

2回呼び出しskipCurrentElement()てもうまくいかない場合は、単純なループで簡単にスキップできるはずです

while (!isEndElement() || name() != "Parent-1") {
    readNext();
}
于 2016-11-05T09:58:37.767 に答える