2017-01-10 5 views
0

私はPLUとして審査された12桁のコードについて、以下のXML文書を検索しようとしています。しかし、私の経験の多くは、これらのことについてはSQLを使用しており、私はそれを動作させようとすることでほとんど髪を引っ張っています。値と返品情報のXML文書を検索

<?xml version="1.0" encoding="Windows-1252"?> 
<root> 
    <Test> 
    <PLU_Code>00000000000</PLU_Code> 
    <Item_Name>Example Name</Item_Name> 
    <Item_Size>1.1</Item_Size> 
    <Item_Colour>aaaaaaaaa</Item_Colour> 
    <Item_Gender>Male</Item_Gender> 
    <Item_AgeGroup>Neutral</Item_AgeGroup> 
    </Test> 

XMLファイルには、以前に検索された項目の詳細が含まれています。今、私は問題なしでファイルを書くことができますが、アイテムが以前に検索されているかどうかをチェックすることで繰り返しエントリを防止しようとしています。私はそれがまったく動作するように思える。私の最新の試みは、このようなものです:可能であれば

 Dim xmldoc As New XmlDataDocument() 
     Dim xmlnode As XmlNodeList 
     Dim i As Integer 
     Dim str As String 
     Dim fs As New FileStream(_PLUCheckHistoricXMLFilePath & "\Historic_PLU_Searches.xml", FileMode.Open, FileAccess.Read) 
     xmldoc.Load(fs) 
     xmlnode = xmldoc.GetElementsByTagName("root") 
     For Each nodes In xmldoc.SelectNodes("Test") 'This will be changed to txt box contents 
      'each nodes is a Detail element 
      MsgBox(xmlnode(i).ChildNodes.Item(1)) 
      MsgBox(xmlnode(i).ChildNodes.Item(2)) 
     Next 

私の主な問題はPLU_CODEに基づいてファイルを検索し、特定の項目に関連する情報を返して、少なくともタグは簡単に右、検索し、検索されるべきですか?私は自分のコードを実行したときに

現在、何が実際に起こっていません。 そしてファイルを開いたままにして、再度アクセスすることはできません。誰もがこれは、すべてのテストノードとそこに子ノードを反復処理するような

答えて

1

、私を助けることができます。うまくいけば、これはあなたを始めさせるでしょう。あなたが望む場合は

Dim xmldoc As New XmlDocument() 
    Dim xmlnode As XmlNodeList 
    xmldoc.Load(_PLUCheckHistoricXMLFilePath & "\Historic_PLU_Searches.xml") 
    For Each testNode As XmlNode In xmldoc.SelectNodes("/root/Test") 
     For Each detailNode As XmlNode In testNode.ChildNodes 
      MsgBox(detailNode.InnerText) 
     Next 
    Next 

、あなたはXPathを変更することにより、細部に直接反復処理できるまで「/ルート/テスト/ *」、およびFor Eachループの1つを削除することもできます。

+0

ほとんどの場合、返されたノードの特定の値を検索するにはどうすればよいですか?私は試しています: MsgBox(detailNode.Item(1).InnerText) – user3516240

+0

"Item_Name"や "Item_Size"のようなものを探しているなら、detailNode.Nameの値をチェックすることができます。 – JerryM

+0

@ user3516240これはうまくいきましたか? – JerryM

関連する問題