我嘗試使用Linq來解析C#中的XML。使用LINQ to XML解析XML?
這是我解析XML:
<Credit>
<LoanApp>
<LoanAppRq PaymentCall="True" Personal="True" Type="Finance">
<Applicant>
<Personal>
<Individuals>
<Individual Type="Applicant">
<GivenName>
<FirstName>test</FirstName>
<LastName>tester</LastName>
</GivenName>
<ContactInfo>
<Address Type="Current">
<StreetNumber>6</StreetNumber>
<StreetName>alton AVE</StreetName>
<City>PHILADELPHIA</City>
<State>PA</State>
<Zip>19142</Zip>
<TimeAtLocation>
<Year>6</Year>
<Month>0</Month>
</TimeAtLocation>
</Address>
<Address Type="Previous">
<StreetNumber>83</StreetNumber>
<StreetName>Main Street</StreetName>
<StreetExtra>12</StreetExtra>
<City>Irvine</City>
<State>CA</State>
<Zip>92695</Zip>
<Country>USA</Country>
<TimeAtLocation>
<Year/>
<Month>3</Month>
</TimeAtLocation>
</Address>
</ContactInfo>
,這是我的代碼來分析它:
parsed_xml.LoadXml(dto.xml);
XElement xelement = XElement.Load(stream);
IEnumerable<XElement> Credit = xelement.Elements();
foreach (var item in Credit)
{
dt.BORROWERFIRSTNAME = item.Element("LoanApp").Element("LoanAppRq").Element("Applicant").Element("Personal").Element("Individuals").Element("Individual").Element("GivenName").Element("FirstName").Value;
dt.BORROWERLASTNAME= item.Element("LoanApp").Element("LoanAppRq").Element("Applicant").Element("Personal").Element("Individuals").Element("Individual").Element("GivenName").Element("LastName").Value;
}
這段代碼給我名字和姓氏。
- 首先,我想知道這是否正確的解析方式?
- 秒如果我想獲得當前或以前的地址我怎麼能得到它們?在某些情況下,以前的地址也可能不存在。
我已經使用這個網站作爲學習的參考。
http://www.dotnetcurry.com/showarticle.aspx?ID=564
這個問題與linq有什麼關係? – Jashaszun
@Jashaszun也許使用'System.Xml.Linq'命名空間中的類? – vesan
我編輯過你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –