Linq to Xml:Exception - ''字符,十六进制值0x20,不能包含在名称中 [英] Linq to Xml : Exception -The ' ' character, hexadecimal value 0x20, cannot be included in a name

查看:869
本文介绍了Linq to Xml:Exception - ''字符,十六进制值0x20,不能包含在名称中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我与实体的实体类:

This is my Entity Class with an Entity :

[Table(Name = "CLINICAL_ITEM_MASTER")]
public class ClinicalItemMaster
{
    [Column]
    public int CLIENT_INPUT_MHS_ID { get; set; }
    [Column]
    public Guid CLIENT_INPUT_MHS_GUID { get; set; }
    [Column]
    public string ITEM { get; set; }
    [Column]
    public int ITEM_ID { get; set; }
    [Column]
    public string ITEM_NUMBER { get; set; }
    [Column]
    public string CATEGORY { get; set; }
    [Column]
    public string DESCRIPTION { get; set; }       
    [Column]
    public DateTime? CREATE_DTTM { get; set; }
    [Column]
    public DateTime? UPDATE_DTTM { get; set; }
}

这里我正在使用Linq到XML访问数据库表数据)方法:

And Here I am accessing that Database Table data using Linq to XML(SQL) approach :

private XElement GetClinicalItemMaster()
{
    try
    {
        using (MyDatabase db = new MyDatabase())
        {
            return new XElement("CLINICALITEMMASTER",
                   from cim in db.TblClinicalItemMaster                           
                   select new XElement("Record",
                       new XElement("CLIENT_INPUT_MHS_ID", cim.CLIENT_INPUT_MHS_ID),
                       new XElement("CLIENT_INPUT_MHS_GUID", cim.CLIENT_INPUT_MHS_GUID.ToString()),
                       new XElement("ITEM ", cim.ITEM),
                       new XElement("ITEM_ID ", cim.ITEM_ID),
                       new XElement("ITEM_NUMBER ", cim.ITEM_NUMBER.ToString()),
                       new XElement("CATEGORY ", cim.CATEGORY.ToString()),
                       new XElement("DESCRIPTION ", cim.DESCRIPTION),
                       new XElement("MFG_CODE ", cim.MFG_CODE)      ));
        }

但是这里我收到这个错误:

But here I am getting this error:


'[white space]'字符,十六进制值0x20,不能包含在名称中。

The '[white space]' character, hexadecimal value 0x20, cannot be included in a name.

该列是 cim.ITEM ,根据我的分析,它的一个非Nullable列,但是从DataBase获取数据获得Null(每个这个数据列为空)

The column is cim.ITEM, as per my analysis its a Non-Nullable column but While getting data from DataBase getting Null(The data per this column is Null)

推荐答案

元素名称中有空格,在XML中不允许:

You have white spaces in elements names, which is not allowed in XML:

new XElement("ITEM ", cim.ITEM), // starting from this element
//                ^ here

删除空格以使元素名称有效。要将零作为元素值完全可以。

Remove white spaces in order to make element names valid. BTW it's completely OK to have null as element value.

这篇关于Linq to Xml:Exception - ''字符,十六进制值0x20,不能包含在名称中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆