选择xml的InnerText是deconding url(C#)

时间:2015-10-08 19:47:44

标签: c# xml

所以我的问题是,当从xml文件中选择节点时(我的情况下是数据包)正在解码一个url,它是xml中节点的内部文本。实施例

<url>"http://my.xml.org/?id=AAA%2DDDD%3dNNNLKLKJLKL%2"</url>

使用XmlDocument的实例:

xmlDoc.SelectSingleNode("url").InnerText;

返回的字符串是:"http://my.xml.org/?id=AAA/DDDD/NNNLKLKJLKL/"

如何防止这种情况发生?请注意,%2和%3已更改为正斜杠。任何帮助将不胜感激:))

1 个答案:

答案 0 :(得分:1)

以下代码可获得正确的结果。你有什么不同的做法?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string xml =
                "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
                "<url>\"http://my.xml.org/?id=AAA%2DDDD%3dNNNLKLKJLKL%2\"</url>";

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(xml);
            string results = xmlDoc.SelectSingleNode("url").InnerText;

        }
    }
}
​