-1

複数の文字列を取得する必要があるテキストファイルがあります。ある程度はできますが、リストボックスの最初の文字列しか表示されません

XML リーダーを試してみたところ、オブジェクト識別子のタグが付けられた XML 内のすべてがカメラと共に収集されていました。

次のような行を探す必要があります。

Object Identifier="./Cameras/MyCamera" Label="標準カメラ" N​​ame="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
4

1 に答える 1