私はC++とXerces-cを使ってXML Parserで作業していましたが、私は理解できない問題を抱えているようです問題は、私は:)周りに仕事を得ることができますが、その周りに自分の道を「ハック」したくない)C++ Xerces-c - nodeがプレースホルダーであるかどうかを調べる方法
私は私がしようとしている何本
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Config>
<Person>
<Title>Mr.</Title>
<Forename>Stephen</Forename>
<Surname>Cassidy</Surname>
<Job>
<Title>Position1</Title>
<Position>Worker</Position>
<Salary>£6.40</Salary>
</Job>
<Job>
<Title>NewJob</Title>
<Position>PositionWorker1</Position>
<Position>AnotherPosition</Position>
<Salary>£12,000</Salary>
</Job>
</Person>
のようなXMLファイルを持っていますノードが他の子ノードの「プレースホルダ」にすぎないかどうかを調べる<Person>
ノードまたは<Job>
ノードのように、処理を試みるのではなく、子ノードをチェックするだけです。
この理由は、ノードの値(たとえば、Title)と値(NewJobなど)を格納するクラス内にノード値を格納しているため、子エントリのリストもあるため、JobはノードエントリTitle、Position、SalaryはすべてJobの「子」エントリになります。しかし、Jobが既にPositionのエントリを持っていて、新しいエントリを作成してJobを追加するのではなく、既存のPositionエントリにPositionの値を追加するかどうかを確認することもできます。誰にでも感覚:)
私はそれを何かをコード化する誰かが期待していないと私はちょうどいくつかのヒントやポインタ:)!
なぜ自分のクラスにノードを保存していますか? Xercesはそのための構造を提供しています。私は一般的には、各子エントリの名前をチェックし、それが 'Position'であればノードを返すことを考えます。 – lupz