0

テキスト ボックスに入力されたデータに基づいて VB.Net フォームを使用して XML ドキュメントを検索するクラス プロジェクトがあり、子タグの他の項目の値を返す必要があります。XML 情報の例を以下に示します。VB フォームでは、ユーザーは口座番号を入力し、XML ドキュメント内の口座番号と一致する口座番号に基づいて、フォームの残りの部分、名前、生年月日などを XML からテキスト ボックスに入力します。

これをコーディングする方法がわかりません。XML ドキュメントを次のように VB フォーム コードに添付しました。

    Dim doc = XDocument.Load("CreditApp.xml")
    Dim xdoc = doc.Descendants("custData").FirstOrDefault()

また、ユーザーからの検索入力を受け取るテキスト ボックスに変数を割り当てました。VB フォームの [検索] ボタンをクリックすると、検索が有効になります。

  txtAcctNum.Text = xdoc.Element("AcctNum").Value
  txtSSN.Text = xdoc.Element("SSN").Value

XML サンプル:

   <custData>
    <FName>Ben</FName>
    <LName>Dover</LName>
    <Gender>Male</Gender>
    <Address>21 Jump Street</Address>
    <City>Beverly Hills</City>
    <State>CA</State>
    <Zip>90210</Zip>
    <Phone>3108591212</Phone>
    <Email>yourex@stalkermail.com</Email>
    <SSN>000001233</SSN>
    <AcctNum>5695847185978954</AcctNum>
    <PassCode>What</PassCode>
    <AccountAvail>75000</AccountAvail>
    <AcctBal>25000</AcctBal>
    <LPmtDate>3/28/2012</LPmtDate>
    <LPmtAmt>7500</LPmtAmt>
    <CreditLimit>100000</CreditLimit>
    <IntRate>15.499</IntRate>
    <MinPayment>1250</MinPayment>
    <PmtDueDate>4/28/2012</PmtDueDate>
    <Note></Note>
  </custData>

  <custData>
    <FName>Al</FName>
    <LName>Caholic</LName>
    <Gender>Male</Gender>
    <Address>8585 Milky Way</Address>
    <City>Palm Springs</City>
    <State>CA</State>
    <Zip>90561</Zip>
    <Phone>2029867411</Phone>
    <Email>screaming@silentmail.com</Email>
    <SSN>951855589</SSN>
    <AcctNum>9812020274912689</AcctNum>
    <PassCode>Glover</PassCode>
    <AccountAvail>0</AccountAvail>
    <AcctBal>55000</AcctBal>
    <LPmtDate>4/1/2012</LPmtDate>
    <LPmtAmt>15</LPmtAmt>
    <CreditLimit>55000</CreditLimit>
    <IntRate>18.995</IntRate>
    <MinPayment>95000</MinPayment>
    <PmtDueDate>5/1/2012</PmtDueDate>
    <Note></Note>
  </custData>

どんな助けでも素晴らしいでしょう!

4

1 に答える 1

1

xml を linq に使用してみてください。うまくいくと思います

/// custDtatas は、ドキュメント全体の一番上のラッピング要素です。あなたのものは異なる場合があります

Dim q = (From c In xDoc.Descendants("custDtatas")
From view In c.Elements("custData") 
Where view.Element("SSN") = '000001233'
AndAlso view.Element("AcctNum") = '5695847185978954' view).ToList()

        // fill the specific part of the form with specific item 

        For Each item As var In q

        Next
于 2012-04-11T01:24:40.900 に答える