2016-10-26 5 views
0

私が続行する前に、私はここで質問をするのが初めてであるので、本当にすみません。再帰的ファイル検索からすべてのXML要素を表示するにはどうすればよいですか?

このプロジェクトでは、フォルダ内のXMLファイルからすべてのデータを収集する必要があります。私は自分で作った小さなテストでプロジェクトをテストしましたが、プロジェクト自体に移しても機能しません。

私は、XMLフォーマットが通常のものとは異なることを認識しました。私はvb.netとビジュアルベーシックに関する知識はほとんど持っていません。

XMLは次のようになります。

<Item> 
<Base> 
    <Presence>0</Presence> 
</Base> 
<Scan> 
    <Presence>0</Presence> 
    <Name>SomeScanner</Name> 
</Scan> 
</Item> 

コードは次のようになります。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
    ListBox1().Items.Clear() 

    Dim folderPath As String = "C:\MarcInternThings\Test" 
    For Each file__1 As String In Directory.GetFiles(folderPath, "*.xml") 
     Dim xmlr As XmlTextReader 
     xmlr = New XmlTextReader(file__1) 

    Next 
End Sub 

だから私は本当にリストボックスに、このすべてを読み出すのに役立つ必要があります。フォルダ内のすべてのXMLファイルは、このように見えます。ちょうど私は値の読み方や "ベース"と "スキャン"ノードの助けが必要です。ところで、ノードを変更して属性を持たせることはできません。私は彼らがどのように属性を持っていれば、今までに値を読み取って表示する方法を考え出したでしょうか?

+0

多分これは役に立ちます:http://stackoverflow.com/questions/15933333/how-to-read-an-xml-file?rq=1 –

+0

@QuasselKasper私はこれが私のために働くとは思わないフォルダにあるすべてのXMLファイルを検索しています。 – MarcSuarez

+0

私はQuassel Kasperからのリンクがあなたのケースを解決できると信じています。すでに各ループでXMLファイルを1つずつ取得し、リンクを適用してXMLを読み取り、リストに保存してください。 – Prisoner

答えて

0

マイクロソフト以外のソフトウェアを使用する準備ができている場合(マイクロソフトでは過去10年以内にXMLソフトウェアを更新していないことに注意してください)、単純な解決策は、SaxonやXMLPrimeなどのXQueryプロセッサをダウンロードし、

<all>{collection('input-dir?select=*.xml?recurse=yes')}</all> 

などのクエリは、すべての入力ドキュメントを連結したXMLドキュメントを返します。

データで何をしたいのかは、実際には言いませんでした。もちろん、必要に応じてフィルタリングしてクエリ内で変換することもできます。

+0

ああ、問題は私が何もダウンロードできない会社のコンピュータを使用していることです。とにかく助けてくれてありがとうございます。私は自分自身で問題を解決することができました。 :) – MarcSuarez

+0

あなたの会社のポリシーがあなたの問題を解決するツールの使用を妨げている場合、SOに同情を期待しないでください。 –

関連する問題