Как сделать итерацию дочерних узлов, содержащих более одного значения
<message> <messagetype>plantext</messgaetype> <sender>donotreply@invesco.com</sender> <PortfolioManagerName>Taylor, Jeffrey</PortfolioManagerName> <FirstName>Jeffrey</FirstName> <Torecipients > <torecipient>Jeffrey_Taylor@invescoperpetual.co.uk</torecipient> </Torecipients > <CCrecipients > <ccrecipient>vadivel.murthy@invesco.com</ccrecipient> </CCrecipients > <subject>Proxy Vote Due Report </subject> <body></body> <Attachments > <attachment>\\corp\dfsroot\global\Apps\GApps\GAppsdev\ProxyVoting\Reports\VDR\Run_2018_01_08_19_41\Taylor_Jeffrey_01-08-2018_19-41-29.pdf</attachment> <attachment>\\corp\dfsroot\global\Apps\GApps\GAppsdev\ProxyVoting\Reports\VDR\Run_2018_01_08_19_41\Taylor_Jeffrey_01-08-2018_19-41-29.xlsx</attachment> <attachment>\\corp\dfsroot\global\Apps\GApps\GAppsdev\ProxyVoting\Reports\VDR\Run_2018_01_08_19_41\Taylor_Jeffrey_01-08-2018_19-41-29.html</attachment> </Attachments > </message>
из выше XML-файл, я хочу сделать вам attacments стоимость одного б один. пожалуйста кто нибудь предложите какие нибудь идеи
Что я уже пробовал:
string refile = null; DirectoryInfo dir = new DirectoryInfo(folderpath); FileInfo[] resultfile = dir.GetFiles("*.xml"); foreach (FileInfo file in resultfile) { if(file.Exists) { refile = file.FullName; XmlDocument doc = new XmlDocument(); doc.Load(refile); XmlNodeList elemList = doc.GetElementsByTagName("Message"); for (int i = 0; i <= elemList.Count - 1; i++) { string fullname = elemList[i].ChildNodes.Item(2).InnerText.Trim(); string firstname = elemList[i].ChildNodes.Item(3).InnerText.Trim(); string toaddress = elemList[i].ChildNodes.Item(4).InnerText.Trim(); string ccaddress = elemList[i].ChildNodes.Item(5).InnerText.Trim(); string subject = elemList[i].ChildNodes.Item(6).InnerText.Trim(); string attachments = elemList[i].ChildNodes.Item(8).InnerText.Trim(); } } }
в узлах вложения я получаю все три внутренних текстовых значения в одной строке, я хочу получить одно за другим и сохранить в строке