如果我有以下xml:
XDocument xDocument = new XDocument(
new XElement("RootElement",
new XElement("ChildElement",
new XAttribute("Attribute1", "Hello"),
new XAttribute("Attribute2", "World")
),
new XElement("ChildElement",
new XAttribute("Attribute1", "Foo"),
new XAttribute("Attribute2", "Bar")
)
)
);
我在输出“Hello,Foo”之后使用LINQ“。”符号
我可以使用
获得“Hello”xDocument.Element("RootElement").Element("ChildElement").Attribute("Attribute1").Value;
我可以使用
获取所有属性xDocument.Element("RootElement").Elements("ChildElement").Attributes("Attribute1");
如何获取属性的字符串值列表,以便我可以以逗号分隔列表的形式加入?
答案 0 :(得分:2)
var strings = from attribute in
xDocument.Descendants("ChildElement").Attributes()
select attribute.Value;
答案 1 :(得分:2)
好的,感谢womp我意识到我需要的Select方法才能获得属性Value,所以我可以得到一个字符串数组。因此,以下工作。
String.Join(",", (string[]) xDocument.Element("RootElement").Elements("ChildElement").Attributes("Attribute1").Select(attribute => attribute.Value).ToArray());