所以我的问题是,当从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已更改为正斜杠。任何帮助将不胜感激:))
答案 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;
}
}
}