首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将空字符串的xml序列化为nil

将空字符串的xml序列化为nil
EN

Stack Overflow用户
提问于 2018-01-27 20:59:13
回答 1查看 362关注 0票数 1

在C#中,可以将空字符串序列化为nil值。让我们像这样来看这个对象:

代码语言:javascript
复制
var myBook = new Book(){ Author = "John S.", ISBN = null };

我想要:

代码语言:javascript
复制
<Book>
  <Author>John S.</Author>
  <ISBN nil="true"/>
</Book>

有没有可能用像ExtendedXmlSerializer或YAXLib这样的第三方xml序列化程序来实现这样的结果?

致以问候。

EN

回答 1

Stack Overflow用户

发布于 2018-01-27 21:04:50

您可以尝试这样做:

代码语言:javascript
复制
var myBook = new Book() { Author = "John S.", ISBN = null };
XmlSerializer xs = new XmlSerializer(typeof(Book));
StringWriter sw = new StringWriter();
xs.Serialize(sw, myBook);
Console.WriteLine(sw.ToString() );

此外,您还需要添加一个属性:

代码语言:javascript
复制
public class Book
{
    public string Author { get; set; }
    [System.Xml.Serialization.XmlElement(IsNullable = true)]
    public string ISBN { get; set; }
}

结果:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-16"?>
<Book xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Author>John S.</Author>
  <ISBN xsi:nil="true" />
</Book>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48476052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档