Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检索xml序列化输出字符串以替换单引号_C#_Asp.net Mvc_Xml Serialization - Fatal编程技术网

C# 检索xml序列化输出字符串以替换单引号

C# 检索xml序列化输出字符串以替换单引号,c#,asp.net-mvc,xml-serialization,C#,Asp.net Mvc,Xml Serialization,这就是我序列化对象的方式。如何检索xml字符串以替换单引号 var settings = new XmlWriterSettings {OmitXmlDeclaration = true}; settings.Encoding = Encoding.ASCII; var writer = XmlWriter.Create(writeStream, settings); var serializer = new XmlS

这就是我序列化对象的方式。如何检索xml字符串以替换单引号

var settings = new XmlWriterSettings {OmitXmlDeclaration = true};

            settings.Encoding = Encoding.ASCII;

            var writer = XmlWriter.Create(writeStream, settings);

            var serializer = new XmlSerializer(value.GetType());

            var nameSpaces = new XmlSerializerNamespaces();

            nameSpaces.Add(string.Empty, string.Empty);

            serializer.Serialize(writer, value, nameSpaces);

您可以序列化到文本编写器并执行所需的字符串操作,例如:

static void Main(string[] args)
{
    var value = new Class1() { SomeProperty = "content' asdasd' asdasd" };
    var settings = new XmlWriterSettings()
    {
        OmitXmlDeclaration = true,
        Encoding = Encoding.ASCII
    };
    var serializer = new XmlSerializer(typeof(Class1));
    string output = string.Empty;

    var nameSpaces = new XmlSerializerNamespaces();
    nameSpaces.Add(string.Empty, string.Empty);

    using (StringWriter textWriter = new StringWriter())
    {
        using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, settings))
        {
            serializer.Serialize(xmlWriter, value, nameSpaces);
        }
        output = textWriter.ToString();
        Console.WriteLine(output);
    }

    string newOutput = output.Replace('\'', 'x');
    Console.WriteLine(newOutput);
}
在本例中,输出为

<Class1><SomeProperty>content' asdasd' asdasd</SomeProperty></Class1>
<Class1><SomeProperty>contentx asdasdx asdasd</SomeProperty></Class1>
内容“asdasd”asdasd
contentx asdasdx asdasd

您不必这样做:这是序列化程序的工作。您是否真的尝试过这种方法,并且在xml中得到了未替换的单引号?