我使用SqlDataReader从Scenarios表中读取数据,如下所示:
string Data = reader["ScenarioData"].ToString();但是,现在我的ScenarioData字段是XML ntext。如何使用DataReader读取XML数据?例如,假设我想读取网址"http://google.com“。
场景数据字段:
<Scenario Name="Scenario1" Feature="Feature1">
<Steps>
<Step Url="http://google.com"></Step>
</Steps>
</Scenario>发布于 2013-07-24 07:44:46
考虑到您已经在string类型的变量中拥有了XML,我建议使用以下方法:
SqlDataReader reader= cmd.ExecuteReader();
while (reader.Read())
{
.....
// you have already an xml string stocked in data
string data = (string)reader["ScenarioData"];
// parse it
var doc = XDocument.Parse(data);
var step = doc.Descendants("Step").Attributes().FirstOrDefault();
var url = step != null ? step.Value : String.Empty;
......
}还有一种使用SqlXml读取Xml的方法,您可以在here中找到更多信息
发布于 2013-07-24 07:38:46
using System.Xml.Linq;
var xml = XElement.Parse(reader["ScenarioData"].ToString());
//assuming there can be multiple <step> elements
var steps = xml.Element("Scenario").Element("Steps").Elements("Step");
var url = steps.First().Attribute("Url").Value;https://stackoverflow.com/questions/17822144
复制相似问题