0

我是 UFT API 测试的新手,我需要从 XML 响应中提取某些值以包含在现有的 XLS 中,这将作为另一个测试的输入数据。这是我的 XML 响应:

   <NS1:Body>
      <NS3:BuscaSaldosCaptacionOut xmlns:NS3="http://www.portal.com/ws/esb/ConsultaCuentasSaldos">
     <SaldosCaptacion>
        <NumeroCliente>51844068</NumeroCliente>
        <Cuenta>0201484326</Cuenta>
        <ProductoCuenta>01</ProductoCuenta>
        <SubProductoCuenta>0382</SubProductoCuenta>
        <Divisa>MXP</Divisa>
        <IdCuenta>0201484326</IdCuenta>
        <SaldoInicialDia>7062.42</SaldoInicialDia>
        <SaldoPromedio>30596.01</SaldoPromedio>
        <SaldoActual>17062.42</SaldoActual>
        <SaldoDisponible>17062.42</SaldoDisponible>
        <EstatusCuenta>A</EstatusCuenta>
     </SaldosCaptacion>
     <SaldosCaptacion>
        <NumeroCliente>51844068</NumeroCliente>
        <Cuenta>0201484371</Cuenta>
        <ProductoCuenta>01</ProductoCuenta>
        <SubProductoCuenta>0340</SubProductoCuenta>
        <Divisa>MXP</Divisa>
        <SaldoInicialDia>6825.11</SaldoInicialDia>
        <SaldoPromedio>8936.26</SaldoPromedio>
        <SaldoActual>6825.11</SaldoActual>
        <SaldoDisponible>6825.11</SaldoDisponible>
        <SaldoRetenido>0.00</SaldoRetenido>
        <EstatusCuenta>A</EstatusCuenta>
     </SaldosCaptacion>
     <SaldosCaptacion>
        <NumeroCliente>51844068</NumeroCliente>
        <Cuenta>0201533729</Cuenta>
        <ProductoCuenta>01</ProductoCuenta>
        <SubProductoCuenta>0363</SubProductoCuenta>
        <Divisa>MXP</Divisa>
        <SaldoInicialDia>28316.52</SaldoInicialDia>
        <SaldoPromedio>6230.52</SaldoPromedio>
        <SaldoActual>7374.52</SaldoActual>
        <SaldoDisponible>7374.52</SaldoDisponible>
        <SaldoRetenido>942.00</SaldoRetenido>
        <EstatusCuenta>A</EstatusCuenta>
     </SaldosCaptacion>
  </NS3:BuscaSaldosCaptacionOut>

我需要保存“Cuenta”和“SaldoActual”值。(每个人),完全忽略如何参数化它们。“写入文件”选项对我不起作用。

4

1 回答 1

0

试试下面的代码。如果它不起作用,则需要在代码中更改命名空间。我无法说出正确的名称空间,因为您确实发布了 xml 文件的开头。我正在使用 xml linq,它是一个网络库。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            string xml = File.ReadAllText(FILENAME);

            XElement doc = XElement.Parse(xml);

            var results = doc.Descendants("SaldosCaptacion").Select(x => new {
                Cuenta = (string)x.Element("Cuenta"),
                SaldoActual = (decimal)x.Element("SaldoActual")
            }).ToList();

        }
    }
}
于 2018-01-30T06:41:58.397 回答