0

我有一个类项目,我使用 VB.Net 表单根据输入到文本框中的数据搜索 XML 文档,并且我需要返回子标记中其他项目的值。下面是 XML 信息的一个示例。在 VB 表单中,用户输入一个帐号,然后根据与 XML 文档中的一个匹配的帐号,表单的其余部分、姓名、dob 等将 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 to 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 回答