私がしなければならない限り、私は使用しないでください。私はものを行うPHPの方法が好きですが、私はObject
のCollection
を使って私が必要とするデータを格納/検索することに固執しているようです。私は私のObjects
とコレクションを反復するコードをロードした私のCollection
があります。私の問題は、PHPで呼び出されるように私は "キー"を取得することができませんです(私は実際にはこの名前を信じていますオブジェクト)。次の例を考えてみましょう:あなたが見ることができるように、私は、XML文書をナビゲートし、いくつかのキー/値のペアを持つObject
を作成していVB .NETでコレクションを繰り返す(連想配列のように)
Dim xDoc As XPathDocument = New XPathDocument(fName)
Dim xNav As XPathNavigator = xDoc.CreateNavigator()
Dim sender As XPathNodeIterator
sender = xNav.Select("/data/sender/val")
While (sender.MoveNext())
SenderInfo.Add(sender.Current.GetAttribute("n", ""), sender.Current.Value)
End While
For Each item As Object In SenderInfo
Dim value As String = item.ToString()
//need to store the key here
Dim key As String = Nothing
Next
。それはJSONにあった場合、オブジェクトは次のようになります。
{"name":"John Smith","address1":"123 Anywhere St.","city":"This City","state":"FL"}
を私は唯一のオブジェクトの値を取得することができますコレクションものの繰り返すが、私はKey
が必要な場合、この例では、私は「名前」をしたいです、 "address1"、 "city"、 "state"を変数に格納します。
アイデア?それとも私はこれについて間違った方法をとっていますか?
私は本当に助けをありがとう、私は本当にこの1つにこだわっています!
SenderInfoがどこでどのように宣言されていますか?実際のデータを表すjsonサンプルですか?同じメッセージに複数のオブジェクトがありますか? –
SenderInfoをCollectionとして定義しましたが、実際にはSystem.Collections.Specializedをインポートし、標準コレクションの代わりにNameValueCollectionを使用することに決めました。これにより、キー自体を繰り返し処理することができました(Collectionに.Keysはありません)。私は実際にそれがうまくいった。私は同じ問題を抱えている他の誰のためにも解決策を書くつもりです。 –