首页 新闻 会员 周边

LINQ索引的一个小问题

1
悬赏园豆:10 [待解决问题]

刚接触linq,觉得非常好用,但是现在碰到一个问题,

就是linqtoxml中,如下所示:

<Keywords>
<Keyword>故障诊断</Keyword>
<Keyword>水压试验机</Keyword>
<Keyword>多向Fisher判别分析</Keyword>
<Keyword>多时段</Keyword>
<Keyword>MFDA模型</Keyword>
</Keywords>

在Keywords下有多个Keyword节点,现在要依次全部读取,而用ELEMENT只能读该节点下第一个元素,也就是读了“故障诊断”,后面的读取不了,如何能一一读取,该如何索引,请赐教!!

问题补充: 我再说明清楚一下 这是一篇学位论文的xml文件 我想将其转化成ENDNOTE的导入格式,所以要将所有的keyword读出,并且写入在txt文档中,格式要写成 “%K 故障诊断 水压试验机 多向Fisher判别分析 多时段 MFDA模型”每个keyword之间都要空格 这样才能导入endnote中
司马非马的主页 司马非马 | 初学一级 | 园豆:190
提问于:2010-10-27 09:49
< >
分享
所有回答(3)
0

那就用Elements

Gray Zhang | 园豆:17610 (专家六级) | 2010-10-27 10:08
能具体点么 我试过了 并不能获取每个KEYWORD的value, 我的意思是想根据索引一个一个读出来
支持(0) 反对(0) 司马非马 | 园豆:190 (初学一级) | 2010-10-27 10:14
string[] values = XDocument.Parse(xml).Descendants("Keyword").Select(n => n.Value).ToArray();
支持(0) 反对(0) Gray Zhang | 园豆:17610 (专家六级) | 2010-10-27 10:18
我的程序读xml:Keyword = s.Element("Keywords").Value, 写xml到txt是: myXmlWriter.WriteLine("%K " + conf.Keyword); txt中可以显示所有关键字,但是我要求关键字之间要有空格符,您写的那个还是没怎么看懂
支持(0) 反对(0) 司马非马 | 园豆:190 (初学一级) | 2010-10-27 10:25
0

 //读取文件并把文件转化为StreamReader
                StreamReader reader = new StreamReader(store.OpenFile(strFileName,
                   FileMode.Open, FileAccess.Read));

                //把字符串转化为XML
                XDocument xmlStory = XDocument.Parse(reader.ReadToEnd());
                //利用LINQ TO XML转化为集合

var varDetails = from details in xmlStory.Descendants("Keyword")

                          select details

 

可以根据自己的需要修改

天神一 | 园豆:845 (小虾三级) | 2010-10-27 11:01
0

Xml目前正在研究中……关注……

Jaryleely | 园豆:367 (菜鸟二级) | 2010-10-27 11:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册