【发布时间】:2019-02-23 08:47:30
【问题描述】:
这是我的 XML 文件
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<report>
<report-name name='XML report: Account-Performance this month'/>
<date-range date='Sep 1, 2018-Sep 18, 2018'/>
<table>
<columns>
<column name='impressions' display='Impressions'/>
<column name='clicks' display='Clicks'/>
<column name='ctr' display='CTR'/>
<column name='conversions' display='Conversions'/>
<column name='convRate' display='Conv. rate'/>
<column name='costConv' display='Cost / conv.'/>
<column name='avgCPC' display='Avg. CPC'/>
<column name='cost' display='Cost'/>
</columns>
<row impressions='19534' clicks='876' ctr='4.48%' conversions='17.00' convRate='1.94%' costConv='52278824' avgCPC='1014543' cost='888740000'/>
</table>
</report>
此文件是通过 AdWords API 生成的。我现在正在尝试将此 xml 文件转换为 c# 列表。到目前为止,这是我的方法:
// generate list out of xml
var xmlDoc = XDocument.Load(path);
var reports = xmlDoc.Elements();
foreach (var report in reports)
{
var row = report.Element("row");
}
不幸的是 var row 为空。我做了一些调试,“报告”中只有一个报告,所以最后一部分肯定有问题。
【问题讨论】:
-
这不验证格式良好的 xml
-
除了缺少的Table节点,应该是
Elements("row")而不是Element("row")`。表格可以有多行。 -
xml 文件由 adwords api 生成。我根本无法改变结构或任何东西。