从XPathNodeIterator获取数据

时间:2013-08-05 07:12:43

标签: c# asp.net xml xslt

我有一个XPathNodeIterator xpProducts,它包含这样的XML

<estocklevel>0</estocklevel>
<weightingram>0</weightingram>
<unit></unit>
<volume>0</volume>
<discountgroup></discountgroup>
<manufactor>31862244</manufactor>
<deliverydate>1900-01-01T00:00:00</deliverydate>
<dayscreated extra="dayscreated">41489</dayscreated>

现在我想用字符串中的每个节点数据,我尝试过像这样的事情

 string  strProductID = xpProducts.Current.Select("/manufactor");

但它会抛出错误

Error   3   Cannot implicitly convert type 'System.Xml.XPath.XPathNodeIterator' to 'string' D:\Projects\20-06-2013-Files\App_Code\DataFetcher.cs    55  28  D:\Projects\20-06-2013-Files\

是否无法从XPathNodeIterator中获取字符串数据?

1 个答案:

答案 0 :(得分:1)

为了获取字符串数据,您需要一个XPathNavigator:

string strProductID = null;
XPathNavigator navProductID = xpProducts.Current.SelectSingleNode("manufactor");
if(navProductID != null)
{
  strProductID = navProductID.Value;
}

我还建议使用foreach循环,而不是MoveNext()Current