2017-02-11 5 views
1

本質的には、自分が所属する各フレームに基づいて処理シーンのシェイプの場所を格納するXMLドキュメントを作成しています。処理のXMLを使用して特定の要素を検索する

基本的に、特定のフレームがXMLドキュメント内にすでに存在するかどうかを判断する際に問題が発生しています。 XMLレイアウトが

<xmlDoc> 
    <frame1> 
     <unit1> 
      <position x="1000" y="248"/> 
     </unit1> 
     ... 
    </frame1> 
    ... 
</xmlDoc> 

と私は働くだろうと想定コードのように設定しますが、事前に

xml = loadXML("document.XML"); 

try 
{ 
    XML children[] = xml.getChildren("Non_Existent_Frame"); 
    if(children == null) 
    { 
    print("child = null"); 
    } 
} 
catch(Exception e) 
{ 
    print(e) 
} 

感謝しませんさ!

+0

あなたがこれをやっている言語を教えてもらえると助かります。それはC#のようですか?そのような場合は、LINQ to XMLをお勧めします。 – Tim

+0

また、「うまくいかない」ことを明確にする必要があります。どのように動作しませんか? "Non_Existent_Frame"は投稿されたXMLの要素ではありません。 – Tim

+0

こんにちはティム、混乱のために申し訳ありません。私はProcessing、Javaベースのプログラムを使用しています。私は上記のコードがnullに見えることを望んでいたので、XML文書内に必要なフレームを作成することができました。 –

答えて

0

getChildren()関数は、特定のタグを持つ子要素を含む配列を返します。そのタグが見つからない場合、配列はnullでなく空になります。だから、それだけをチェックすることができます:

XML children[] = xml.getChildren("Non_Existent_Frame"); 
if(children.length == 0) 
{ 

私はなぜこれをXMLを使用しているのだろうかと思います。後で処理の対象外のファイルからファイルを読み込む必要がありますか?そうでない場合(後で同じプログラムに戻して読んでいるのであれば)、代わりにシリアライゼーションを調べるとよいでしょう。

+1

それはそれを修正しました!私はシリアライズの実装を考えていませんでしたが、あまり経験はありませんが、すぐにそれを読み上げます。提案とその助けをありがとうKevin、それは非常に感謝しています! –

関連する問題