我在這裏有一種情況,我必須用一個文本框和一個按鈕編寫一個簡單的WPF應用程序,文本框用於「en」,「fr」, 「ru」等...從xml文件中提取值並將其寫入excel工作表中逐行寫入
我有很多這樣的數據數量巨大的文件。考慮這是一個文件
<?xml version="1.0" encoding="UTF-8"?>
<params>
<btestsir xml:lang="fr" tId="HHXAF">Test Sirène :</btestsir>
<btestsir xml:lang="en" tId="HHXAF">Test Siren :</btestsir>
<btestsir xml:lang="pt" tId="HHXAF">Testar sirene:</btestsir>
<btestsir xml:lang="ru" tId="HHXAF">Тест сирены:</btestsir>
<btestbeep xml:lang="fr" tId="HHXA2">Test Bip :</btestbeep>
<btestbeep xml:lang="en" tId="HHXA2">Test Beep :</btestbeep>
<btestbeep xml:lang="pt" tId="HHXA2">Testar aviso sonoro:</btestbeep>
<btestbeep xml:lang="ru" tId="HHXA2">Тест гудка:</btestbeep>
</params>
現在,如果我選擇「連接」,通過我的應用程序,並單擊按鈕,然後只有兩根弦,其XML:LANG =「EN」值匹配將被複制到一個Excel工作表。並會顯示像這樣的東西。
For English language
For Russian language
我已經試過這
StreamReader reader = new StreamReader(strFilepath);
string line;
while(null != (line = reader.ReadLine()))
{
string[] s1 = line.Split('>');
string[] s2 = s1[1].Split('<');
if(s1[0].Contains("xml:lang="))
{
}
}
背後的邏輯很簡單首先我想用分割每行 「>」 所以s1[0]
將有<btestsir xml:lang="fr" transId="HHXAF"
s1[1]
將有Test Sirène :</btestsir>
但現在我面臨的問題是如何獲取特定語言xml:lang=
的「鑰匙」,並把該鍵值對到Excel工作表,正如我在圖片顯示。獲取「價值」很容易s2[0]
將有value
。
但是,這兩個鍵值對應匹配,然後放入Excel表,然後它將再次繼續下一行。 編輯:此處的關鍵值對應該放入不同的excel表單中,用於不同的語言文件。 excel-sheet.en.xlsx將包含所有「en」,excel-sheet.fr.xlsx將包含所有「fr」等
正如我所說我有大文件,它應該無縫工作,無需人工干預。
你能幫助我嗎!
感謝
他們這樣做的方式並不理想。您應該更適合使用XML。 – Yahya
我知道,但我也知道這個代碼是2002年的代碼,我不能做得比這更好,btw它不是一個XML文件,它可能看起來像。此外,爲了得到理想的解決方案,我已經到了這裏。 – Debhere