如何从C#(SqlDependencyEx)中的XElement对象读取特定值
我必须读取XML文件的特定项(不完全是文件-这是SqlDependencyEx类生成的XElement,它从刚刚更新的DB向我发送了一条记录) 所以我有这样的想法:如何从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()); } 事实上,它
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
元素的值吗?非常感谢!第一种方法对我非常有效。我现在得到了一个纯值,再次感谢。非常感谢!第一种方法对我非常有效。我现在得到了一个纯值,再次感谢。