如何将字符串作为节点添加到新的XmlDocument中
本文关键字:XmlDocument 添加 节点 字符串 | 更新日期: 2023-09-27 18:00:41
对这个非常基本的问题表示歉意,但我正在尝试将动态生成的字符串添加到新的XmlDocument中。
我最初尝试过下面的代码,但不确定是否有更好的方法。
var summaryXml = new XmlDocument();
summaryXml.InnerXml.Replace("", "<Summary rev='"" + newRevNumber + "'"></Summary>");
newRevNumber只是当前dateTime的MD5散列。
我有一个已经有数据的XML节点集合,在插入上面列出的字符串作为第一个子字符串之后,我试图将它们附加到这个新XmlDocument的末尾。
此外,我本来只想使用XDocument,但我对LINQ to XML还不够熟悉,无法获得结果。
此外,我本来只想使用XDocument,但我对LINQ to XML还不够熟悉,无法获得结果。
与XmlDocument
的非常冗长的API相比,LINQ to XML非常简单,并且非常轻量级。
您可以获得所需的XML文档作为XDocument
,如下所示:
XDocument summaryXml = new XDocument(
new XElement("Summary",
new XAttribute("rev", newRevNumber)
)
);
生成与以下XmlDocument用法相同的文档:
XmlDocument summaryXml = new XmlDocument();
XmlElement summary = summaryXml.CreateElement("Summary");
XmlAttribute rev = summaryXml.CreateAttribute("rev");
rev.Value = newRevNumber;
summary.Attributes.Append(rev);
summaryXml.AppendChild(summary);
正如你所看到的,XDocument
要好得多…;)
不过,如果您需要XmlDocument
,您可以随时根据需要在这两种格式之间进行转换。这个问题涵盖了如何做到这一点。
试试这个
var summaryXml = new XmlDocument();
var summaryElement = summaryXml.CreateElement("Summary");
var revAttribute = summaryXml.CreateAttribute("rev");
revAttribute.Value = newRevNumber;
summaryElement.Attributes.Append(revAttribute);
summaryXml.AppendChild(summaryElement);