gpt4 book ai didi

C# XmlSerializer 修剪空格

转载 作者:行者123 更新时间:2023-11-30 21:47:24 26 4
gpt4 key购买 nike

我在使用 XmlSerializer 时遇到了修剪字符串的问题, 当使用 XmlReader 时。 IgnoreWhitespace 选项显示无效,元素字符串仍包含\n 和空格。

有什么方法可以“即时”修剪它吗?我更喜欢这种方法,因为我反序列化为一个字符串数组

这是一个示例 xml:

<?xml version='1.0' encoding='UTF-8'?>
<root>
<element>
some random string
</element>
<element>
another random string
</element>
</root>"

这是示例代码:

class Program
{
public static void Main(string[] args)
{
string xml =
@"<?xml version='1.0' encoding='UTF-8'?>
<root>
<element>
some random string
</element>
<element>
another random string
</element>
</root>";

var string_reader = new StringReader(xml);

var xml_reader = XmlReader.Create(string_reader, new XmlReaderSettings()
{
IgnoreWhitespace = true //setting this option doesn't work
});
root d = (root)new XmlSerializer(typeof(root)).Deserialize(xml_reader);
d.elements[0].Contains("\n"); //true

//Dispose string/xml reader

Console.Read();
}
}

public class root
{
[XmlElement(ElementName ="element")]
public string[] elements { set; get; }
}

最佳答案

读入XML文件后,需要手动剪掉空格

root d = (root)new XmlSerializer(typeof(root)).Deserialize(xml_reader);
for (int i = 0; i < d.elements.Count; i++)
{
d.elements[i] = d.elements[i].Replace("\n", String.Empty).Trim();
}

关于C# XmlSerializer 修剪空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38399608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com