我正在尝试使用c#的XML编写器以编程方式添加元素,并且一切都运行良好。我目前有这个:
<module_name path="pathToModule"></module_name>
我正在尝试获得这样的结构:
<module_name path="pathToModule" name="nameOfModule", executable="moduleExecutale"></module_name>
我的XMLWriter看起来像这样:
var xmlWriterSettings = new XmlWriterSettings()
{
Indent = true,
IndentChars = "\t",
NewLineOnAttributes = true
};
using (XmlWriter writer = XmlWriter.Create(_pathToOutputXml, xmlWriterSettings))
{
writer.WriteStartElement("module_name", "name", realModuleName);
}
我也试过
writer.WriteStartElement("module_name", "name", realModuleName);
writer.WriteAttributeString("path", path, "executable", executable);
并且它不会编译过去。 “文件”中的名称字符无效。 “:”字符(十六进制值)不能包含在名称中。我想这是错误的做法,但我没有看到另一种选择。
我可以使用哪些XMLWriter属性来实现此目标?
答案 0 :(得分:0)
我明白了。事实证明,如果我想向某个元素添加属性,我需要做这样的事情:
writer.WriteStartElement("module_name");
writer.WriteAttributeString("name", realModuleName);
writer.WriteAttributeString("path", path);
writer.WriteAttributeString("executable", executable);
这会产生如下元素:
<module_name name="Captiva Administrator" path="" executable="test.exe">