複数の文字列を取得する必要があるテキストファイルがあります。ある程度はできますが、リストボックスの最初の文字列しか表示されません
XML リーダーを試してみたところ、オブジェクト識別子のタグが付けられた XML 内のすべてがカメラと共に収集されていました。
次のような行を探す必要があります。
Object Identifier="./Cameras/MyCamera" Label="標準カメラ" Name="MyCamera" Type="Camera"
キー識別子:
./カメラ/
Label="標準カメラ"
タイプ="カメラ"
./Cameras/ または Name="MyCamera" の後に "MyCamera" を使用できます。これらは両方とも、行の出現ごとに共通です
以下の私の例では、読みたいファイルがあり、3台のカメラがリストされている必要があります https://www.dropbox.com/s/dy7r2auf9vv0m7g/testvb.zip
XML は Thea render によって生成され、モデル、ライトなどを含むシーン ファイルが取り出されるため、カメラといくつかのコア設定のみが残ります。
varocarbas のおかげで、これは私の問題を解決するコードです:
Dim path As String = "C:\Users\jen\Desktop\test\temp.xml"
Dim settings As System.Xml.XmlReaderSettings = New System.Xml.XmlReaderSettings()
settings.ConformanceLevel = System.Xml.ConformanceLevel.Fragment
Using reader As System.Xml.XmlReader = System.Xml.XmlReader.Create(path)
While (reader.Read())
If (reader.NodeType = System.Xml.XmlNodeType.Element) Then
If (reader.Name = "Object") Then
'Object Identifier="./Cameras/MyCamera" Label="Standard Camera" Name="MyCamera" Type="Camera"
Dim Identifier As String = reader.GetAttribute("Identifier") '"./Cameras/MyCamera"
Dim Label As String = reader.GetAttribute("Label") '"Standard Camera"
Dim Name As String = reader.GetAttribute("Name") '"MyCamera"
Dim Type As String = reader.GetAttribute("Type") '"Camera"
Dim wholeString As String = Name 'WHOLE STRING TO BE ADDED TO THE LISTBOX
'Adding the string to ListBox1
If (wholeString.Trim.Length > 0) And Type = "Camera" Then
ListBox1.Items.Add(wholeString)
End If
End If
End If
End While
End Using