XML文件读取字符串失败

时间:2014-10-28 22:24:19

标签: c# .net xml xpath

我正在尝试从XML文件中读取。 我成功读了一个int。但是当我想将它转换为字符串时它不起作用。我想得到一些帮助。

XML:

<Data>
    <ServerClient>1</ServerClient>
    <ClientIP>127.0.0.1</ClientIP>
    <ClientPort>11000</ClientPort>
</Data>

函数getType读取XML文件中的int。

private XmlDocument doc;

public int getType()
{
    try
    {
        // Open the file again
        doc.Load("ServerClientXML.xml");

        // Read port
        XmlNode node = doc.SelectSingleNode("/Data/ServerClient");

        return int.Parse(node.InnerText); // 0 = Server, 1 = Client
    }
    catch
    {
        return -1; 
    }
}

public string getIP()
{
    string ip;
    XmlNode node;

    try
    {
        // Open the file again
        doc.Load("ServerClientXML.xml");

        int Type = getType();
        if (Type == 1) // Client type
        {
            // Read IP
            node = doc.SelectSingleNode("/Data/ServerClient/ClientIP");
            ip = doc.InnerXml;

        }
        else // Server Type
        {
            // Read IP
            node = doc.SelectSingleNode("/Data/ServerClient/ServerIP");
            ip = doc.InnerXml;
        }

        return ip;
    }
    catch
    {
        return null;
    }
}

我试图喜欢getType但没有任何成功:

 return node.InnerText.toString(); // 0 = Server, 1 = Client

1 个答案:

答案 0 :(得分:1)

您的XPath与提供的XML不匹配。它应该是/Data/ClientIP/Data/ServerIP