如何从C#(SqlDependencyEx)中的XElement对象读取特定值

如何从C#(SqlDependencyEx)中的XElement对象读取特定值,c#,xml,sqldependencyex,C#,Xml,Sqldependencyex,我必须读取XML文件的特定项(不完全是文件-这是SqlDependencyEx类生成的XElement,它从刚刚更新的DB向我发送了一条记录) 所以我有这样的想法: private void Send_Row_To_Queue(object sender, SqlDependencyEx.TableChangedEventArgs e) { XElement myElement = e.Data; MessageBox.Show(myElement .ToString()); } 事实上,它

我必须读取XML文件的特定项(不完全是文件-这是SqlDependencyEx类生成的XElement,它从刚刚更新的DB向我发送了一条记录)

所以我有这样的想法:

private void Send_Row_To_Queue(object sender, 
SqlDependencyEx.TableChangedEventArgs e)
{
XElement myElement = e.Data;
MessageBox.Show(myElement .ToString());
}
事实上,它打印的是漂亮的XML格式的文本……但我不知道如何从中读取第一个节点(插入)中的

<root>
<inserted>
<row>
<id>13</id>
<line_number>12</line_number>
<comment>Wrongtypex</comment>
</row>
</inserted>
<deleted>
<row>
<id>13</id>
<line_number>12</line_number>
<comment>Wrongtypex</comment>
</row>
</deleted>
</root>

13
12
错误类型
13
12
错误类型
有很多答案,他们解释了如何从纯文件(有路径等)中读取,但没有一个解决了我的具体问题。
谢谢你的帮助

您应该能够遵循任何使用LINQ to XML读取XML的示例,只需稍加修改。以下是两种可能的方法,例如:

XElement myElement = e.Data;

// 1st way using method chaining
var id1 = myElement.Element("inserted").Element("row").Element("id").Value;

// 2nd way using XPath
using System.Xml.XPath;
var id2 = myElement.XPathSelectElement("inserted/row/id").Value;

您应该能够遵循任何使用LINQ to XML读取XML的示例,只需稍加修改。以下是两种可能的方法,例如:

XElement myElement = e.Data;

// 1st way using method chaining
var id1 = myElement.Element("inserted").Element("row").Element("id").Value;

// 2nd way using XPath
using System.Xml.XPath;
var id2 = myElement.XPathSelectElement("inserted/row/id").Value;

您是否尝试过
e.Data.Elements(“插入”).First()
?还是在第一个插入的
节点中查找
id
元素的值?是否尝试了
e.Data.Elements(“插入的”).first()
?或者您是在第一个插入的
节点中查找
id
元素的值吗?非常感谢!第一种方法对我非常有效。我现在得到了一个纯值,再次感谢。非常感谢!第一种方法对我非常有效。我现在得到了一个纯值,再次感谢。