아래 XML에서 중첩 된 요소를 읽으려고합니다. 지금까지 나는 chantier/data
요소의 데이터를 읽을 수 있었지만 이제는 <questions><sitePreparation> and <ctm>
내부의 데이터를 어떻게 읽을 수 있습니까? Xml 파일과 코드는 너무 길기 때문에 약간 단락되었습니다. 어떤 도움이라도 대단히 감사합니다. 읽기 questions
요소의Linq to xml을 사용하여 중첩 된 요소를 읽는 방법
<?xml version="1.0" encoding="UTF-8"?>
<Audit>
<controls>
<guid>
0001
</guid>
<templateVersion>
1.0
</templateVersion>
</controls>
<chantier>
<data>
<V2>V2</V2>
<V3>V3</V3>
<V3_1>V3_1</V3_1>
<V4>V4</V4>
<oresTiersPanel>
<S1_2>S1_2</S1_2>
</oresTiersPanel>
<agentsTiersPanel>
<S1_2_2>S1_2_2</S1_2_2>
</agentsTiersPanel>
</data>
<questions>
<sitePreparation>
<P1_Question>P1_Q</P1_Question>
<P6_Question>P6_Q</P6_Question>
</sitePreparation>
<ctm>
<C1_Question>C1_Q</C1_Question>
<C2_Question>C2_Q</C2_Question>
<C2_1>C2_1</C2_1>
</ctm>
</questions>
</chantier>
</Audit>
private static void ReadXml()
{
XDocument xdoc = XDocument.Load("sipp.xml");
if (xdoc.Root != null)
{
var chantier = from ch in xdoc.Root.Elements("chantier").Elements("data")
let agentsTiersPanel = ch.Element("agentsTiersPanel")
where agentsTiersPanel != null
select new
{
v2 = (string)ch.Element("V2"),
v3 = (string)ch.Element("V3"),
v3_1 = (string)ch.Element("V3_1"),
v4 = (string)ch.Element("V4"),
S1_2_2 = (string)agentsTiersPanel.Element("S1_2_2"),
S1_2_2_1 = (string)agentsTiersPanel.Element("S1_2_2_1"),
S1_2_3 = (string)agentsTiersPanel.Element("S1_2_3"),
S3 = (string)ch.Element("S3"),
S3_1 = (string)ch.Element("S3_1"),
P1_Question = (string)ch.Element("P1_Question")
};
foreach (var item in chantier)
{
Console.WriteLine(item.v2 + " " + item.v3);
}
}
}
어떻게 데이터를 읽습니까 강력한 형식의 객체로 작업 할 수 있습니다? –
다음 질문을 자세히 검토하십시오. http://stackoverflow.com/questions/13203975/how-to-parse-deeply-nested-using-linq-to-xml, http://stackoverflow.com/questions/11758904/accessing- 중첩 된 요소를 통해 linq - to - XML ... 희망이 도움이 .. 건배! –
괜찮아요. 질문을 읽는 데있어서 당신의 문제는 무엇입니까? 동일한 접근 방식을 사용하십시오 –