2014-01-15 59 views
0

我看起來就像是在一個XML文件中的元素:我想單獨如何用LinqToXml拆分多個元素中的字符串?

<Adresse>15 rue de la tour montparnasse 75000 PARIS</Adresse> 

從現在我只看過全ADRESS,但我需要分開住址的元素...

string FullAdress = XmlFile.Element("Adresse").Value; 

(FullAdress="15 rue de la tour montparnasse \n75000 PARIS") 

在3個元素中:

string street="15 rue de la tour montparnasse" 
string ZIP="75000" 
string City="PARIS" 

我該如何做到這一點與LinqToXml?

感謝您的幫助。

+0

爲什麼要在輸入和輸出都不是XML的情況下使用LINQ to XML? –

+0

對不起,我忘記提及該字符串來自一個XML文件... –

回答

0

我exracted你想要的數據:

var val = (from adresse in XmlFile.Elements("Adresse") 
    let split = adresse.Value.Split(new[] { ' ' }) 
    let zip = split[split.Length - 2] 
    let city = split[split.Length - 1] 
    let street = string.Join(" ", split.Except(new[] { zip, city })) 
    select new 
    { 
     Street = street, 
     ZIP = zip, 
     City = city 
    }).FirstOrDefault(); 

但是你要仔細。此代碼不會對數據進行任何驗證。

+0

我需要的代碼是通用的,並與幾個不同的地址工作。但我認爲有可能通過使用分隔符隔離街道「\ n」並將城市和Zip分開,在那裏有一個「空間」......但是我對Xml的知識很差...... –

相關問題