对这个非常基本的问题表示歉意,但我正在尝试将动态生成的字符串添加到新的XmlDocument中。
我最初尝试过以下代码,但不确定是否有更好的方法。
var summaryXml = new XmlDocument();
summaryXml.InnerXml.Replace("", "<Summary rev=\"" + newRevNumber + "\"></Summary>");
newRevNumber只是当前dateTime的MD5哈希值。
我有一组已经拥有数据的XML节点,在我将上面列出的字符串作为第一个孩子插入之后,我试图将它们附加到这个新的XmlDocument的末尾。
另外,我会选择使用XDocument,但我对LINQ to XML不太熟悉,无法取得成果。
答案 0 :(得分:0)
试试这个
var summaryXml = new XmlDocument();
var summaryElement = summaryXml.CreateElement("Summary");
var revAttribute = summaryXml.CreateAttribute("rev");
revAttribute.Value = newRevNumber;
summaryElement.Attributes.Append(revAttribute);
summaryXml.AppendChild(summaryElement);
答案 1 :(得分:0)
另外,我刚刚接受了XDocument,但我对LINQ to XML不太熟悉以取得成果。
LINQ to XML非常简单,与XmlDocument
的非常详细的API相比非常轻量级。
您可以像XDocument
这样获得所需的XML文档:
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
,则可以根据需要始终在两种格式之间进行转换。 This question涵盖了如何做到这一点。