2015-11-04 23 views
0

我基本上需要加密作为xml字符串存储在表的字段中的数据。更新来自多个xml字符串的节点

我正在使用AES加密。我已经有了加密和解密的逻辑。我想要做的就是加载xml字符串并更新两个节点。

基本上我需要更新

<Bankaccountnumber>23232323</Bankaccountnumber>Banksortcode>232323</Banksortcode>节点。

我基本上有大约60,000条记录,并希望使用C#程序高效地完成它。请参考下面

<?xml version="1.0" encoding="utf-16"?><callvalidate><authentication><company>Bestinvest Brokers</company><username>[email protected]</username><password>Pa55word67</password></authentication><sessions><session RID="0cee7f47-59b4-4fb2-a8eb-bafba9dec8ee"><data><Checksrequired><BankStandard>Yes</BankStandard><BankEnhanced>Yes</BankEnhanced><CardLive>No</CardLive><CardEnhanced>No</CardEnhanced><IDEnhanced>Yes</IDEnhanced><DeliveryFraud>No</DeliveryFraud><EmailValidate>No</EmailValidate><CreditScore>No</CreditScore><Zodiac>No</Zodiac><IPAddress>No</IPAddress></Checksrequired><Personalinformation><IndividualDetails><Title>Mr.</Title><Firstname>test</Firstname><Surname>test</Surname><Dateofbirth>1996-02-01T00:00:00</Dateofbirth><Emailaddress>[email protected]</Emailaddress></IndividualDetails><AddressDetails><Buildingname></Buildingname><Postcode>se93qS</Postcode><Previouspostcode /></AddressDetails></Personalinformation><Bankaccountnumber>23232323</Bankaccountnumber><Banksortcode>232323</Banksortcode></data></session></sessions><application>LT-API-BEML</application></callvalidate> 
+0

XML字符串样本而样品不具有BANKACCOUNTNUMBER或Banksortcode节点! –

+0

对不起刚更新了样本 – Tom

+1

你的C#程序是什么?为什么它不起作用?目前我看不到任何代码。你希望我们从scatch实现它吗?在这种情况下,[Hackhands](https://hackhands.com/)可能会帮助你,但Stack Overflow模式是不同的。 –

回答

0

尝试XML的LINQ

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

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const string FILENAME = @"\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      XDocument callvalidate = XDocument.Load(FILENAME); 

      List<XElement> bankAccountNumbers = callvalidate.Descendants("Bankaccountnumber").ToList(); 
      for(int index = 0; index < bankAccountNumbers.Count; index++) 
      { 
       XElement bankAccountNumber = bankAccountNumbers[index]; 

       int accountNumber = int.Parse(bankAccountNumber.Value); 
       XElement newBankAccountNumber = new XElement("Bankaccountnumber", new object[] { 
        accountNumber, 
        new XElement("Banksortcode",accountNumber) 
       }); 
       bankAccountNumber = newBankAccountNumber; 
      } 
     } 
    } 
} 
​ 
+0

请注意我正在读取多个记录,因此将不得不遍历每个xml字符串集合,获取值并更新它 – Tom

+0

每个请求更新的代码。 – jdweng