2017-07-13 6 views
-1

私は基本的にxmlリーダーを持ち、各ノードは特定の要素を持つカメラです。Uid、名前など名前を入力して検索する方法を見つけようとしています関連するUID。XMLリーダーの関連要素を見つけるC#

これは、これまでの私のコードです:

using (XmlReader reader = XmlReader.Create(@"\\IPADDRESS\Customers\customers\GRACE-SVR1\XmlConfig\EXAMPLE.XML")) 
     { 
      while (reader.Read()) 
      { 
       if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "CAMERA")) 
       { 
        if (reader.HasAttributes) 
        { 
         Console.WriteLine(reader.GetAttribute("name")); 
         Console.WriteLine(reader.GetAttribute("uid")); 

        } 
       } 
      } 
     } 
     Console.ReadLine(); 

これは、情報が表示されますが、私はちょうど名前を入力取り掛かる方法を思ったんだけど、それはあなたが関連するUID

+1

あなたはどのような問題があるのか​​はっきりしていません。あなたはコンソールから価値を読み取る方法を知らないのですか?このコードは名前の入力や関連するuid *の検索とは関係ありません。このコードは、単にすべてのカメラ要素の名前とuid属性を書き込んでいます。 –

+0

待ち時間があるので、必要な情報が得られますが、入力を取り除いて別のノードをフィルタリングする方法はわかりません。 –

+0

その情報を取得して表示しているだけで、名前を入力することができ、関連するid要素を与えることができます。 – foreveraphone

答えて

1

私はこれを探しています。

var name = Console.ReadLine(); 

using (XmlReader reader = XmlReader.Create(@"\\IPADDRESS\Customers\customers\GRACE-SVR1\XmlConfig\EXAMPLE.XML")) 
{ 
    while (reader.Read()) 
    { 
     if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "CAMERA")) 
     { 
      if (reader.HasAttributes && reader.GetAttribute("name") == name) 
      { 
       Console.WriteLine(reader.GetAttribute("uid")); 

      } 
     } 
    } 
} 
Console.ReadLine(); 
+0

ありがとうございました。乾杯! – foreveraphone

+0

@foreveraphone wc :)。それを受け入れたものとしてマークしてください。 –

0

のためのXMLを検索XDocument.Loadを使用して、XMLを読み込み、LINQクエリを使用して 'Camera'タイプのすべての要素を取得できます。

関連する問題