替换& quot;用“for XML

时间:2015-09-23 10:47:21

标签: c# xml xml-parsing quotation-marks

我的程序是一个HTML解析器,它将所有内容保存到XML文件中。问题是当我尝试打开文件并阅读文本时,它为我提供了示例:"NAME" 应该是"NAME" 似乎当我使用.Replace(""", """)它写& quot为& amp; “;再来一次。我该怎么处理呢?

编辑:

这是<td> "IN QUOTE" BLA BLA BLA</td>

我确实在这里保存:

 debt.Debtor.LegalPerson.Name = nazwa;

在调试时,我得到的字符串是:&quot;IN QUOTE&quot; BLA BLA BLA

但是当我把所有内容写入XML

var serializer = new XmlSerializer(typeof(BGW_IMPORT));
            serializer.Serialize(writer, bgw);
        }

       ...
        }
        if (File.Exists(FilePath))
        {
            //XDocument existing;
            XmlDocument ex = new XmlDocument();
            XmlDocument docX = new XmlDocument();

            using (FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None))
            {
                //existing = XDocument.Load(fs);

                docX.LoadXml(doc.Document.ToString());
                ex.Load(fs);

                foreach (XmlNode wiersz in docX.SelectNodes("//Debt"))
                {
                    XmlNode importNode = ex.ImportNode(wiersz, true);
                    ex.DocumentElement["Debts"].AppendChild(importNode);

                }
            }

            File.Delete(FilePath);
            using (FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None))
            {
                ex.Save(fs);

            }...

最后我得到:

<Name>&amp;quot;IN QUOTE&amp;quot;BLA BLA BLA</Name>

我想要的时候:

<Name>&quot;IN QUOTE&quot;BLA BLA BLA</Name>

1 个答案:

答案 0 :(得分:0)

首先需要使用编码字符串  System.Web.HttpUtility.HtmlEncode()

然后使用HtmlDecode()

进行解码

请参阅链接:https://msdn.microsoft.com/en-us/library/7c5fyk1k(v=vs.110).aspx