我无法使用XElement
将字符串变量的值写入.xml文件。
我尝试使用System.IO
:
XDocument
,XElement
code.cs:
string variable ="sth";
XDocument xml_cip_c1 = new XDocument(
new XComment("document"),
new XElement("new root"),
new XElement("name", variable)
);
result.xml:
<!--document-->
<new root>
<name />
</new root>
答案 0 :(得分:2)
您是先生。使用Value
属性:
var yourVariable = "ABC";
XDocument xml_cip_c1 = new XDocument(
new XComment("document"),
new XElement("new_root",
new XElement("name") { Value = yourVariable}));
这将产生以下输出:
<?xml version="1.0" encoding="utf-8"?>
<!--document-->
<new_root>
<name>ABC</name>
</new_root>
但是,如果您想将Attribute添加到xml元素中,请使用以下使用XAttribute
的代码:
XDocument xml_cip_c1 = new XDocument(
new XComment("document"),
new XElement("new_root",
new XElement("name", new XAttribute("name", yourVariable))));
然后您将获得以下xml文件:
<?xml version="1.0" encoding="utf-8"?>
<!--document-->
<new_root>
<name name="ASD" />
</new_root>
答案 1 :(得分:0)
尝试一下
.cs代码
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent =true;
settings.IndentChars = (" ");
settings.CloseOutput = true;
settings.OmitXmlDeclaration =true;
using (XmlWriter writer = XmlWriter.Create("FileName.xml", settings))
{
writer.WriteStartElement("newroot");
writer.WriteElementString("name", "ABC");
writer.WriteEndElement();
writer.Flush();
}
结果 => XML文件
<?xml version="1.0" encoding="utf-8" ?>
<newroot>
<name>ABC</name>
</newroot>
答案 2 :(得分:0)
我使用第一篇文章中的方法
代码.cs:
private void sb_button_click(object sender, RoutedEventArgs e)
{
variable1 = przycisk.Text;
name_of_file_xml.Save(path_of_file);
}
static string variable1 ="sth";
我必须使用静态var,因为它需要我提供XAttribute。
我必须使用带值的字符串,因为如果我声明带值的字符串:
静态字符串zmienna1 = null;
System.ArgumentNullException:'该值不能为零。
代码.cs:
Parameter name: value '
XDocument name_of_file_xml = new XDocument(
new XComment("document"),
new XElement("root",
new XElement("name", new XAttribute ("name2", variable1 ))
)
);
在我的项目中,我想要一个没有值的变量,可以吗?
因为它没有将button.text中的变量分配给我,而是将其分配给我