C# XML 编写器 - 使用哪个 types/objects?
C# XML writer - Which types/objects to use?
简介:
嗨,各位编码员;我创建了一个项目来创建 XML 文件以使用特定设置自动创建文件。
问题:我的知识不足以重现这个。我找不到关于两个问题的正确信息;
一个。如何在元素内创建元素(使用第二个 writestartelement 关闭第一个);
乙。第 3 行有一个我不认识的元素。谁能告诉我应该在网上寻找哪种类型?
<userEnvironmentSettings>
<conditions>
<ref n="Printer - PR123456.xml" />
</conditions>
</userEnvironmentSettings>
当前代码(会保持最新)
writer.WriteStartElement("userEnvironmentSettings");
writer.WriteStartElement("conditions");
writer.WriteAttributeString("ref n", "Printer - " + printerName + ".xml\"");
writer.WriteEndElement();
writer.WriteEndElement();
writer.Flush();
结果:无法在 Attributestring 中设置空格的 $exception。
您需要一个名为 ref
的 元素 和一个名为 n
的 属性。您尝试做的是在 conditions
元素中创建一个名为 ref n
的属性,这是不允许的(因为它包含空格)并且不是您想要的。所以这会起作用:
writer.WriteStartElement("userEnvironmentSettings");
writer.WriteStartElement("conditions");
writer.WriteStartElement("ref");
writer.WriteAttributeString("n", "Printer - PR123456.xml");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
但是,除非您有充分的理由,否则我强烈建议您不要直接使用XmlWriter
。您可以使用更简单的 higher-level API。例如:
var doc = new XDocument(
new XElement("userEnvironmentSettings",
new XElement("conditions",
new XElement("ref",
new XAttribute("n", "Printer - PR123456.xml")
))));
doc.Save(fileName);
简介: 嗨,各位编码员;我创建了一个项目来创建 XML 文件以使用特定设置自动创建文件。
问题:我的知识不足以重现这个。我找不到关于两个问题的正确信息;
一个。如何在元素内创建元素(使用第二个 writestartelement 关闭第一个);
乙。第 3 行有一个我不认识的元素。谁能告诉我应该在网上寻找哪种类型?
<userEnvironmentSettings>
<conditions>
<ref n="Printer - PR123456.xml" />
</conditions>
</userEnvironmentSettings>
当前代码(会保持最新)
writer.WriteStartElement("userEnvironmentSettings");
writer.WriteStartElement("conditions");
writer.WriteAttributeString("ref n", "Printer - " + printerName + ".xml\"");
writer.WriteEndElement();
writer.WriteEndElement();
writer.Flush();
结果:无法在 Attributestring 中设置空格的 $exception。
您需要一个名为 ref
的 元素 和一个名为 n
的 属性。您尝试做的是在 conditions
元素中创建一个名为 ref n
的属性,这是不允许的(因为它包含空格)并且不是您想要的。所以这会起作用:
writer.WriteStartElement("userEnvironmentSettings");
writer.WriteStartElement("conditions");
writer.WriteStartElement("ref");
writer.WriteAttributeString("n", "Printer - PR123456.xml");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
但是,除非您有充分的理由,否则我强烈建议您不要直接使用XmlWriter
。您可以使用更简单的 higher-level API。例如:
var doc = new XDocument(
new XElement("userEnvironmentSettings",
new XElement("conditions",
new XElement("ref",
new XAttribute("n", "Printer - PR123456.xml")
))));
doc.Save(fileName);