我想在一个属性中添加这么多值。以下是我的代码,
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>
帮我做这样的改动。提前谢谢。
答案 0 :(得分:0)
您可以使用属性的值构建一个字符串并指定它。
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
使用每个元素之间的指定分隔符连接字符串数组的所有元素。
这里的分隔符是&#34;,&#34;。