为什么我没有得到的XML值
问题描述:
我有一个看起来像这样为什么我没有得到的XML值
<Registered id="SOP_NBR61553">
<RoleOfPerson>
<PersonBirthDate>
<Date>1970-08-11</Date>
</PersonBirthDate>
<PersonName>
<PersonGivenName>TOMMY</PersonGivenName>
<PersonMiddleName/>
<PersonSurName>SMITH</PersonSurName>
<PersonNameSuffixText/>
</PersonName>
<PersonRaceCode>B</PersonRaceCode>
<PersonSexCode>M</PersonSexCode>
</RoleOfPerson>
</Registered>
当我运行这段代码
var id = custOrd.Element("Registered").Attribute("id");
var BirthDate = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonBirthDate").Element("Date");
var First_Name = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonGivenName");
var Middle_Name = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonMiddleName");
var Last_Name = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonSurName");
var Race = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonRaceCode");
var Sex = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonSexCode");
var FullName = First_Name +" "id;
我不是为元素获取值的XML。例如,FullName的值应该是“Tommy SOP_NBR61553”。但是我看到这个字符串值
我在做什么错在这里
答
如果是使用LINQ to XML,然后而不是选择的属性或元素节点作为你现在一定要确保你解压到C#代码字符串值,最好用例如
var id = (string)custOrd.Element("Registered").Attribute("id");
var First_Name = (string)custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonGivenName");
+0
谢谢@Martin Honnen解决了这个问题 – Perry
答
尝试(.Value属性),如:
var id = custOrd.Element("Registered").Attribute("id").Value;
var First_Name = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonGivenName").Value;
var Middle_Name = custOrd.Element("Registered").Element("RoleOfPerson").Element("PersonName").Element("PersonMiddleName").Value;
此外,在最后一行一个微小的变化:
var FullName = First_Name +" "+ id;
我不是专家,但是,岂不是这条线?对我来说,它看起来像你只叫第一个名字? - >'var FullName = First_Name +“”id;'它不会像'var FullName = First_Name + Middle_Name + Last_Name“”id;' ? – 2016-05-31 15:32:17