我在存儲器如下的對象,這裏是數據的一個示例:使用LINQ更新的XmlDocument(可能)
<terms>
<letter name="F">
<term>
<name>fascículo</name>
<translation language="en">fascicle</translation>
<definition>pequeño paquete de fibras nerviosas o musculares</definition>
</term>
(有實際文檔在許多方面)
欲能夠找到它的名字節點項,然後添加一個元素作爲長期
<terms>
<letter name="F">
<term>
<name>fascículo</name>
<translation language="en">fascicle</translation>
<definition>pequeño paquete de fibras nerviosas o musculares</definition>
<image>hi there</image>
</term>
現在我可以使用XPath實現這一目標的一個孩子,找到節點,然後創建一個具有新值的新節點,blah bla H。
但這似乎在linq的世界裏有點長。
這是我到目前爲止有:
private static XmlDocument AddImages(XmlDocument termDoc)
{
XDocument xDoc = XDocument.Load(new XmlNodeReader(termDoc));
using (CsvReader csv = new CsvReader(new StreamReader("spa2engimages.csv"), false))
{
csv.ReadNextRecord();
csv.ReadNextRecord();
XElement selectedTerm;
string name, imageref;
while (csv.ReadNextRecord())
{
imageref = csv[0].ToString();
name = csv[3].ToString();
selectedTerm = xDoc.Descendants("term").Single(t => t.Descendants("name").Single().Value == name);
//now want to add a new node and save it back in to the termDoc somehow
}
}
return termDoc;
}
但我從那裏有點失落。有任何想法嗎?
啊,我只是想嘗試和LINQ,看看它是否是更加容易,也許我應該堅持使用XPath – qui 2009-01-29 15:17:27