2012-04-11 201 views
0

我有一個類項目,我正在使用VB.Net表單根據輸入到文本框中的數據搜索XML文檔,我需要返回其他項目的值孩子的標籤。 XML信息的一個例子如下。在VB表單中,用戶輸入一個帳號,並根據與XML文檔中的帳號匹配的帳號,將表單,名稱,dob等的其餘部分填充到XML文本框中。從XML填充VB.Net表單

我不知道如何編碼。我已將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>[email protected]</Email> 
    <SSN>0000</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>[email protected]</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> 

任何幫助將是巨大的!

回答

1

使用XML LINQ試試我認爲它會工作對你有好處

/// custDtatas它整個文檔的頂部纏繞元素你可以是不同的

Dim q = (From c In xDoc.Descendants("custDtatas") 
From view In c.Elements("custData") 
Where view.Element("SSN") = '0000' 
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