CSharp - 在xdocument中,获取节点的属性

  显示原文与译文双语对照的内容
0 0

我已经经在xml文档中,它将是 dynamic.i don`t获得节点的问题,但我想获得每个节点的属性。 我尝试的一切都没有得到我的结果。

我的xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <Questionnaire> <clientID>1036</clientID> <QuestForm Desc="דוגמא" ID="1" Info="הסבר לגבי השאלון לדוגמא">
 <Subject Desc="כללי" ID="1" Info="הסבר לנושא כללי" NP="N" Num="1" TableRows="3">
 <Title Desc="מופע 1" ID="1"></Title>
 <Title Desc="מופע 2" ID="2"></Title>
 <Title Desc="מופע 3" ID="3"></Title>
 <Question Desc="טקסט חופשי" ID="1" Type="ט"></Question>
 <Question Desc="תאריך" FromDate="00/00/0000" ID="2" ToDate="31/12/2999" Type="ת"></Question>
 <Question Desc="שעה" FromTime="00:00:00" ID="3" ToTime="24:00:00" Type="ש"></Question>
 <Question Desc="מספר" FromN="1.00" ID="4" IntN="0.00" ToN="10.00" Type="מ"></Question>
 <Question Desc="בחירה" ID="5" Type="ב">
 <Answer Desc="תשובה 1" ID="1"></Answer>
 <Answer Desc="תשובה 2" ID="2"></Answer>
 </Question>
 <Question Desc="שפות דיבור בחירה מרובה" ID="6" Type="ר">
 <Answer Desc="עברית" ID="1"></Answer>
 <Answer Desc="אנגלית" ID="2"></Answer>
 <Answer Desc="רוסית" ID="3"></Answer>
 </Question>
 </Subject>
 <Subject Desc="חו&quot;ל" ID="2" Info="הסבר לנושא חול" NP="N" Num="2">
 <Question Desc="נסיעות לחול" FromN="0.00" ID="1" IntN="0.00" ToN="0.00" Type="מ"></Question>
 <Question Desc="מדינות מועדפות" ID="2" Type="ר">
 <Answer Desc="ארצות הברית" ID="1"></Answer>
 <Answer Desc="אנגליה" ID="2"></Answer>
 <Answer Desc="אוסטרליה" ID="3"></Answer>
 <Answer Desc="רוסיה" ID="4"></Answer>
 </Question>
 </Subject>
 <Subject Desc="נושא חברתי" ID="3" NP="N" Num="3">
 <Question Desc="כמה חברים יש לך" FromN="1.00" ID="1" IntN="0.00" ToN="100.00" Type="מ"></Question>
 <Question Desc="באיזה רשת חברתית אתה משתמש" ID="2" Type="ר">
 <Answer Desc="FACEBOOK" ID="1"></Answer>
 <Answer Desc="LINKEDIN" ID="2"></Answer>
 <Answer Desc="TWITER" ID="3"></Answer>
 </Question>
 <Question Desc="נולדת בארץ" ID="3" Type="ל"></Question>
 <Question CondID="3" Desc="ישוב לידה" ID="4" Type="ט"></Question>
 </Subject> </QuestForm>
 <Muamad Email="ORANI4U@GMAIL.COM" Event="28" ID="36130" Name="א אורן"></Muamad>
</Questionnaire>

我希望获得所有主题及其属性的代码:

IEnumerable<QuestionnnaireSubject> subjects = from input in xml.Descendants("Subject")
 select new QuestionnnaireSubject()
 { 
 Description = 
 ID = 
 }; 
return subjects.ToList();
时间:原作者:1个回答

0 0

要获取元素的属性,请使用 XElement.Attribute(XName)XElement.Attributes():

var subjects = from subjectElement in xml.Descendants("Subject")
 select new QuestionnnaireSubject()
 { 
 Description = (string)subjectElement.Attribute("Desc")
 ID = (int)subjectElement.Attribute("ID").Value
 }; 

使用:

你还拥有:

原作者:
...