Совет 1
Разница между XmlNode.InnerText и .InnerXml заключается в том, что первый заменяет < и > в содержимом на < и > соответственно. Таким образом, программы, которые хотят объединить два XmlDocument, могут использовать только
XmlDocumentFragment.InnerXml = XmlNode.OuterXml
.Совет 2
/XPath: конец строки с
<xsl:for-each select="root/data[substring-after(@name,'.')=
'Text' и string-length(value)>0]">
Совет 3
Если XML-документ не загружается, это вообще незаконно; его соответствие требованиям определенной схемы (XSD) проверяется с помощью свойств Schemas и ValidationType объекта XmlValidatingReader.
Совет 4
Класс XmlDataDocument является производным от XmlDocument, и самое главное — добавить атрибут DataSet. Однако этот класс предоставляется не System.Xml, а System.Data. Приложения, которым всегда приходится иметь дело с базой данных, в любом случае должны ссылаться на System.Data, поэтому лучше полностью использовать XmlDataDocument.
Совет 5
Как сохранить обновления DataSet в объекте XmlDataDocument в базе данных? Сам DataSet имеет метод AcceptChanges, поэтому просто:
xmlDataDoc.DataSet.AcceptChanges();