如何在一个属性中添加额外的值
本文关键字:添加 属性 一个 | 更新日期: 2023-09-27 18:16:02
我想在一个属性中添加这么多值。下面是我的代码
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("root");
doc.AppendChild(root);
XmlElement mainelement;
mainelement = doc.CreateElement("main_element");
root.AppendChild(mainelement);
string[] array = new string[] { "one", "two", "three" };
for (int i = 0; i < 3; i++)
{
XmlElement subelement = doc.CreateElement("shop");
subelement.SetAttribute("Name", "");
subelement.SetAttribute("client", array[i]);
mainelement.AppendChild(subelement);
}
doc.Save(@"C:'simple.xml");
输出如下:
<root>
<main_element>
<shop Name="" client="one" />
<shop Name="" client="two" />
<shop Name="" client="three" />
</main_element>
</root>
但是我期望的输出是
<root>
<main_element>
<shop Name="" client="one,two,three" />
</main_element>
</root>
帮助我做这样的改变。
您可以用属性的值构建一个字符串并赋值。
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("root");
doc.AppendChild(root);
XmlElement mainelement;
mainelement = doc.CreateElement("main_element");
root.AppendChild(mainelement);
string[] array = new string[] { "one", "two", "three" };
XmlElement subelement = doc.CreateElement("shop");
subelement.SetAttribute("Name", "");
string clientAttribute = String.Join(",",array);
subelement.SetAttribute("client", clientAttribute);
mainelement.AppendChild(subelement);
doc.Save(@"C:'simple.xml");
String.Join
连接字符串数组的所有元素,每个元素之间使用指定的分隔符。这里的分隔符是","