Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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_Xml - Fatal编程技术网

C# 插入到xml文件中的未知字符

C# 插入到xml文件中的未知字符,c#,asp.net,xml,C#,Asp.net,Xml,在我的软件中,从c#中的active directory中读取用户信息并插入到xml文件中 我的xml语法应该是: <user identifier="williams"> <password>123456</password> <email>-----@gmail.com</email> <assignRole>DomainUsers</assignRole> </user> 123

在我的软件中,从c#中的active directory中读取用户信息并插入到xml文件中

我的xml语法应该是:

<user identifier="williams">
  <password>123456</password>
  <email>-----@gmail.com</email>
  <assignRole>DomainUsers</assignRole>
</user>

123456
-----@gmail.com
域用户
我的软件托管在intranet服务器上,许多客户端用户使用我的asp.net站点。所有客户端都转到我的注册页面,查看用户配置文件并与他们达成一致。当用户单击“同意”按钮时,用户广告信息插入到xml文件中,例如security.xml。今天我遇到问题,在我的xml文件中插入了带有“?”字符的用户信息:

<user identifier="williams">
  <password>123456</password ?
  <email>-----@gmail.com</email>
  <assignRole>DomainUser?</assignRole ?
</user>


123456查看为xml指定编码类型。。。这个表示XML中使用的编码类型无法读取特定字符。就像

您可以:

指定编码类型并在XML级别强制它


将字符串转换为特定编码,然后再将其放入XML。

您需要使用它来存储数据,如html字符和任何其他非纯文本的内容:)

例如:

<user identifier="williams">
   <password>123456</password ?
   <email><![Cdata[-----@gmail.com]]></email>
   <assignRole>DomainUser?</assignRole ?
</user>

123456

DomainUser?这个问题对于很多用户来说,我的软件注册150个用户信息没有问题,但是很多用户安装了特殊字体,对于这些用户来说,我的注册模块失败了,因为插入了“?”字符。在创建XML的地方张贴代码。我的编码是UTF-8,为什么许多用户成功注册而许多用户没有注册?取决于插入的字符。。。如果大多数情况下没有插入特殊字符,它将正常工作。。。对于那些不是这样的人来说,这将造成重大问题。在我的工作中,我们在为XML模式指定编码时遇到了更多的问题。。。然后我们有3个地方检查编码是否正确。。。因此,我们删除了所有这些,并在所有地方使用UTF16。