2016-08-18 1 views
0

Я пытаюсь изменить XElement XName на читаемый формат, но не могу. Как заменить имя XElement псевдоним? Ниже приведен мой код XElement.Как изменить имя XElement в C#

var root = new XElement("Reports", 
             from l in _userReportMasterDataList 
             join m in _userReportLocalDataList on l.UsrID equals m.TypeValue 
             select new XElement("Report", 
             new XElement("CreatedDate", (DateTime)(l.CreatedDate)), 
             new XElement("LogType", (string)(l.LogType)), 
             new XElement("LoginID", (string)(l.LoginID)), 
             new XElement("Name", (string)(m.Name)), 
             new XElement("AppVersion", (string)(l.AppVersion)), 
             new XElement("System", (string)(l.System)), 
             new XElement("UserIP", (string)(l.UserIPAddress)), 
             new XElement("LoginDate", (DateTime?)(l.LoginDate)), 
             new XElement("LogoutDate", (DateTime?)(l.LogoutDate)), 
             new XElement("Remarks", (string)(l.Remarks))), new XElement("Header", 
             new XElement("ReportID", (string)(r.ReportID)), 
             new XElement("GroupingColumn1", (string)(r.GroupingColumn1)), 
             new XElement("PrintedBy", (string)(r.ReqHdr.Server)), 
             new XElement("PrintedDate", (DateTime)(DateTime.UtcNow)))); 

В месте "CreatedDate" XName, я хочу, чтобы заменить его с Дата создания, "UserIP" в "IP-адрес" и т.д.

Спасибо,

+1

Название XElement соответствует стандарту XML. Он не может содержать пробел в имени элемента. но вы можете использовать атрибут для описания описания элемента. – CodeNotFound

+0

@CodeNotFound: Как я могу использовать атрибут по вышеуказанному коду? Не могли бы вы привести пример. Благодаря! –

+0

Просто новый XAttribute для каждого конструктора XElement, который вам нужен. – CodeNotFound

ответ

0

Ответил @ dbc:

Имена XML-элементов не могут содержать пробелы. См. stackoverflow.com/questions/2519845/ .... Вы можете использовать XmlConvert.EncodeLocalName (String) для кодирования имени с пробелами, а затем декодировать их позже.