HTMLNode到XMLNode?

时间:2017-01-12 18:26:11

标签: c#

是否可以将(HTMLAgilityPack)HTMLNode转换为XMLNode?

我有一个功能;

public string GetXPathToNode(XmlNode node)
{
    if (node.NodeType == XmlNodeType.Attribute)
    {
        // attributes have an OwnerElement, not a ParentNode; also they have             
        // to be matched by name, not found by position             
        return String.Format("{0}/@{1}", GetXPathToNode(((XmlAttribute)node).OwnerElement), node.Name);
    }
    if (node.ParentNode == null)
    {
        // the only node with no parent is the root node, which has no path
        return "";
    }

    // Get the Index
    int indexInParent = 1;
    XmlNode siblingNode = node.PreviousSibling;
    // Loop thru all Siblings
    while (siblingNode != null)
    {
        // Increase the Index if the Sibling has the same Name
        if (siblingNode.Name == node.Name)
        {
            indexInParent++;
        }
        siblingNode = siblingNode.PreviousSibling;
    }

    // the path to a node is the path to its parent, plus "/node()[n]", where n is its position among its siblings.         
    return String.Format("{0}/{1}[{2}]", GetXPathToNode(node.ParentNode), node.Name, indexInParent);
}

我需要用来获取XPATH;但是,它只允许XMLNode,而不是(HTMLAgilityPack)HTMLNode。

我希望能够使用(HTMLAgilityPack)HTMLNode,或者能够将(HTMLAgilityPack)HTMLNode转换为XMLNode。

感谢。

0 个答案:

没有答案