繁体   English   中英

XmlNode xml xpath

[英]XmlNode xml xpath

我自己有一个使用System.Xml命名空间以及HTMLAgilityPack库的小型C#控制台应用程序,我的程序试图从特定网页上抓取产品变体信息,但我遇到了一个不寻常的问题。 我的程序似乎跳过了某个HTML标签?

这是我要下拉的HTML代码

<option value="0">Select a size</option>
<option value="5">686 x 1981mm, 35mm Thick: &pound;143.01</option>
<option value="7">762 x 1981mm, 35mm Thick: &pound;143.01</option>
<option value="9">838 x 1981mm, 35mm Thick: &pound;143.01</option>

这是我解析上述HTML的代码

if (vars != null && vars.Count > 0)
{
    int loc = 1;

    foreach (XmlNode item in vars)
    {
        // Get the <option> ... </option> contents
        string name = item.SelectSingleNode(string.Format("//option[{0}]", loc)).GetInnerTextFromNode();
        string value = item.SelectSingleNode(string.Format("//option[{0}]", loc)).GetAttributeFromNode("value");
        loc++;
    }
}

由于某种原因,我的代码跳过了第二个标记,因此最终得到3个结果而不是4个结果,并忽略它,就好像它不存在一样。 有人知道为什么会这样吗?

如果我的描述不好,我深表歉意!

我可以肯定地告诉您,子节点的索引-您正在使用[loc]进行索引的索引-从零开始。 我不确定为什么在没有更多信息的情况下会跳过一致的第二个节点。

但是您是否尝试从loc = 0开始?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM