2012-04-11 113 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