Преимущества
Недостатки
Итак, я думаю, вам определенно следует предпочесть именованные запросы строковым литералам в вашем коде. Когда вам нужно какое-то динамическое создание запроса во время выполнения, вы должны взглянуть на Hibernate Criteria API . Критерии Hibernate не всегда просты и интуитивно понятны в использовании, но вы обязательно должны использовать их вместо генерации строк запросов во время выполнения.
HTH
Не использовать InnerText
: используйте XmlDocument.CreateCDataSection
:
using System;
using System.Xml;
public class Test
{
static void Main()
{
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("root");
XmlElement email = doc.CreateElement("email");
XmlNode cdata = doc.CreateCDataSection("test@test.com");
doc.AppendChild(root);
root.AppendChild(email);
email.AppendChild(cdata);
Console.WriteLine(doc.InnerXml);
}
}
С XmlDocument
:
XmlDocument doc = new XmlDocument();
XmlElement email = (XmlElement)doc.AppendChild(doc.CreateElement("email"));
email.AppendChild(doc.CreateCDataSection("test@test.com"));
string xml = doc.OuterXml;
или с XElement
:
XElement email = new XElement("email", new XCData("test@test.com"));
string xml = email.ToString();
См. XmlDocument :: CreateCDataSection Method для получения информации и примеров создания узлов CDATA в XML-документе