0

HTMLアジリティパックを使用してhtml文字列からsomデータを取得しようとしています。

データを取得しようとしている行 string[] は、次のように innerhtml を返します。

<td class="street">Riksdagen</td>
<td class="number">&nbsp;</td>
<td class="number">&nbsp;</td>
<td class="postalcode">100 12</td>
<td class="locality">Stockholm</td>
<td class="region_code">018001</td>
<td class="county">Stockholm</td>
<td class="namnkommun">Stockholm</td>

各クラスを正しい addressDataModel プロパティに割り当てるにはどうすればよいですか?

var row = doc.DocumentNode.SelectNodes("//*[@id='thetable']/tr");

    foreach (var rowItem in row)
    {
        var addressDataModel = new AddressDataModel
        {
            street = rowItem.FirstChild.InnerText,
            zipCodeFrom = // Next item,
            zipCodeTo = // Next item,
            zipCode = // Next item,
            locality = // Next item,
            regionCode = // Next item,
            state = // Next item,
            county = // Next item
        };
    }
4

2 に答える 2

1

次のように記述できます (InnerText prop を使用する前に、ノードが存在することを確認してください)。

var addressDataModel = new AddressDataModel
    {
        street = rowItem.SelectSingleNode("./td[@class='street']").InnerText,
        zipCodeFrom = // Next item,
        zipCodeTo = // Next item,
        zipCode = // Next item,
        locality = // Next item,
        regionCode = // Next item,
        state = // Next item,
        county = rowItem.SelectSingleNode("./td[@class='county']").InnerText
    };

参照: http://www.w3schools.com/xpath/xpath_syntax.asp

于 2013-04-14T21:49:39.413 に答える