c# – Easy XPathNavigator GetAttribute

前端之家收集整理的这篇文章主要介绍了c# – Easy XPathNavigator GetAttribute前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
刚刚开始我的第一次参加XPathNavigator.

这是我的简单xml:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<theroot>
    <thisnode>
        <thiselement visible="true" dosomething="false"/>
        <another closed node />
    </thisnode>

</theroot>

现在,我使用CommonLibrary.NET库来帮助我一点:

public static XmlDocument theXML = XmlUtils.LoadXMLFromFile(PathToXMLFile);

    const string thexpath = "/theroot/thisnode";

    public static void test() {
        XPathNavigator xpn = theXML.CreateNavigator();
        xpn.Select(thexpath);
        string thisstring = xpn.GetAttribute("visible","");
        System.Windows.Forms.MessageBox.Show(thisstring);
    }

问题是它无法找到属性.我已经查看了MSDN上的文档,但是无法理解正在发生的事情.

解决方法

这里有两个问题:

(1)您的路径是选择thisnode元素,但thiselement元素是具有属性和的元素
(2).Select()不会改变XPathNavigator的位置.它返回带有匹配项的XPathNodeIterator.

试试这个:

public static XmlDocument theXML = XmlUtils.LoadXMLFromFile(PathToXMLFile);

const string thexpath = "/theroot/thisnode/thiselement";

public static void test() {
    XPathNavigator xpn = theXML.CreateNavigator();
    XPathNavigator thisEl = xpn.SelectSingleNode(thexpath);
    string thisstring = xpn.GetAttribute("visible","");
    System.Windows.Forms.MessageBox.Show(thisstring);
}
原文链接:https://www.f2er.com/csharp/97114.html

猜你在找的C#相关文章