zoukankan      html  css  js  c++  java
  • 解析xml字符串

    < -> &lt;
    > -> &gt;
    " -> &quot;
    ' -> &apos;
    & -> &amp;

    1. 利用string.Replace() 五次替换

    string xml = "<node>it's my \"node\" & i like it<node>";
    encodedXml
    = xml.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\"", "&quot;").Replace("'", "&apos;");
    // RESULT: &lt;node&gt;it&apos;s my &quot;node&quot; &amp; i like it&lt;node&gt;

     

    2. 利用System.Web.HttpUtility.HtmlEncode() 方便

    string xml = "<node>it's my \"node\" & i like it<node>";
    string encodedXml = HttpUtility.HtmlEncode(xml);
    // RESULT: &lt;node&gt;it's my &quot;node&quot; &amp; i like it&lt;node&gt;

    3. 利用System.Security.SecurityElement.Escape() 不常用

    string xml = "<node>it's my \"node\" & i like it<node>";
    string encodedXml = System.Security.SecurityElement.Escape(xml);
    // RESULT: &lt;node&gt;it&apos;s my &quot;node&quot; &amp; i like it&lt;node&gt


    4. 利用 System.Xml.XmlTextWriter

    string xml = "<node>it's my \"node\" & i like it<node>";
    using (XmlTextWriter xtw = new XmlTextWriter(@"c:\xmlTest.xml", Encoding.Unicode))
    {
    xtw.WriteStartElement(
    "xmlEncodeTest");
    xtw.WriteAttributeString(
    "testAttribute", xml);
    xtw.WriteString(xml);
    xtw.WriteEndElement();
    }
    // RESULT:
    /*

    <xmlEncodeTest testAttribute="&lt;node&gt;it's my &quot;node&quot; &amp; i like it&lt;node&gt;">
    &lt;node&gt;it's my "node" &amp; i like it&lt;node&gt;
    </xmlEncodeTest>
    */

  • 相关阅读:
    WslRegisterDistribution failed with error: 0x80370102
    vscode C/C++ 语法检查
    ADO.NET 一(概述)
    线程三(Mutex)
    线程二(Monitor)
    线程一(lock)
    interface Part4(接口中的多态)
    interface Part3(实现:显示和隐式)
    interface Part2(定义接口)
    interface Part1(接口详解)
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1778881.html
Copyright © 2011-2022 走看看