gpt4 book ai didi

c# - 到达 xml 行中的数值

转载 作者:太空宇宙 更新时间:2023-11-03 12:30:27 25 4
gpt4 key购买 nike

我这里有这行代码:

foreach (SyndicationItem item in feed.Items)
{
DataRow r = table.NewRow();
r["Date"] = item.PublishDate.Date.ToString("yyyy-MM-dd");
r["Publish Time"] = item.PublishDate.TimeOfDay;
r["Event"] = item.Title.Text;
table.Rows.Add(r);
}

和这个 xml(rss 提要)“描述”行:

<description>
<table cellspacing='5' border='0'>
<tr>
<th>Time Left</th>
<th>Impact</th>
<th>Previous</th>
<th>Consensus</th>
<th>Actual</th>
</tr>
<tr>
<td>1h 17min</td>
<td><img src="http://www.myfxbook.com/images/transparent.png" class="sprite sprite-common sprite-medium-impact"/></td>
<td> 111.0 </td>
<td> 111.0 </td>
<td> </td>
</tr>
</table>
</description>

我需要检索与 xml 行中显示的此表中的 'Impact' 'Previous' 'Consensus' 和 'Actual' 列匹配的值(数字或字符串)。然后像我在 C# 代码中所做的那样将其导入数据表行。有什么有效的方法吗?

最佳答案

这是您的特定 XML 的示例(看起来是一个包含标题和值的 2 行 HTML 表格;匹配两行中的列数):

您可以使用 XDocument 和 LINQ 提取和配对值:

//Parse data - in this example, stored in a string
XDocument xDoc = XDocument.Parse(data);

//Select table rows (tr elements)
var tableRows = from tr in xDoc.Descendants("tr")
select tr;

//Extract column headings
var headings = from th in tableRows.Descendants("th")
select th.Value;

//Extract column data
var values = from td in tableRows.Descendants("td")
select td.Value;

//Create pairs; can be adapted to other types, such as C# 7 tuples, a Dictionary, etc.
var pairs = Enumerable.Zip(headings, values, (name, value)
=> new Tuple<string, string>(name, value));

然后您可以直接从“pairs”集合访问数据(包括将其存储在数据库中)。

关于c# - 到达 xml 行中的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com